我有三排。 第一行和第二行有数字,第三行有名称。 使用awk,如何汇总与名称相关的所有数字。名字可能是随机的, 所以我可能需要一个变量。例如,它可能看起来像这样
100 221 dog
121 324 cat
42 4341 fish
12 23 cat
2134 424 dog
所以对于狗,猫和鱼的所有出现,输出应该是第1行和第2行的所有数字。 smthg喜欢
dog 2879
cat 480
fish 4383
答案 0 :(得分:4)
试试这个单行:
awk '{a[$3]+=($1+$2)}END{for(x in a)print x, a[x]}' file
答案 1 :(得分:0)
awk '
{
name[$3] += $1 + $2
}
END { for (n in name) { print n, name[n]; } } ' datafile