1

私は3行あります。1 行目と 2 行目には番号、3 行目には名前が表示されます。awk を使用して、名前に関連するすべての数値を合計する方法。名前はランダムかもしれないので、おそらく変数が必要です。たとえば、このように見えるかもしれません

100   221   dog
121   324   cat
42    4341  fish
12    23    cat
2134  424   dog

そのため、犬、猫、魚のすべての出現について、行 1 と 2 のすべての数値が出力されるはずです。みたいな

dog 2879
cat 480
fish 4383
4

2 に答える 2

4

このワンライナーを試してください:

awk '{a[$3]+=($1+$2)}END{for(x in a)print x, a[x]}' file
于 2013-04-01T20:46:49.813 に答える
0
awk '
{
   name[$3] += $1 + $2
}
END { for (n in name) { print n, name[n]; } } ' datafile
于 2013-04-01T20:53:58.110 に答える