awkで項目ごとに集計
集計対象の内容が以下の場合
cat test.list aaa 1 aaa 1 bbb 5 aaa 1 bbb 10 ccc 4 aaa 1 ccc 7 aaa 1 bbb 2
1項目目のaaa,bbb,cccごとに次の項目を集計する場合が以下のawkで。
awk '{ARY[$1]+=$2}END{for(i in ARY){printf "%s,%d\n",i,ARY[i]}}' test.list ccc,11 bbb,17 aaa,5
集計対象の内容が以下の場合
cat test.list aaa 1 aaa 1 bbb 5 aaa 1 bbb 10 ccc 4 aaa 1 ccc 7 aaa 1 bbb 2
1項目目のaaa,bbb,cccごとに次の項目を集計する場合が以下のawkで。
awk '{ARY[$1]+=$2}END{for(i in ARY){printf "%s,%d\n",i,ARY[i]}}' test.list ccc,11 bbb,17 aaa,5