2013年8月29日木曜日

sortとawkでグループ集計(group by + sum)

とある事情でcsvファイルの内容をグループ集計する必要があったので、内容をメモ

awkって結構使えるんですなぁ

まずはcsvファイルの中身
$cat test.txt
0001,3
0001,1
0003,1
0002,1
0001,1
0002,2
0003,1
0003,1
0001,2

そして、awkコマンド
$cat test.txt | awk -F',' '{ if($0 != "") { a[$1]+=$2; } }END{for(i in a)print i","a[i];}'
0001,7
0002,3
0003,3

うーん、マンダム


0 件のコメント:

コメントを投稿