臥薪嘗胆

インフラエンジニアのあれこれ

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