awkを使ってcsvの集計をやってみた。

csvファイルをRDB等に入れずにそのまま集計しなければいけない需要があり、調査してみた。
最終的に、こちらを参考に実装。

bash-3.2$ cat group.csv
a,1
b,1
a,2
b,3
b,2
c,1
c,2
bash-3.2$ < group.csv awk -F',' '{ if($0 !=""){ a[$1]+=$2;}}END{for(i in a)print i" "a[i];}'
a 3
b 6
c 3

awkを最近使う機会が増えてきた(特に集計関係の処理で)ので、ちょっとかじってみようかと思っている。