000-hello awk
■セットアップ
Cygwin の gawk を使うものとする
■入力ファイル
$ cat test.csv
1,ringo,100,3
2,banana,150,2
3,mango,300,1
■1カラム目だけ出力する
$ gawk -F , '{print $1}' test.csv
1
2
3
■各カラムをそのまま出力する。区切り文字は半角カンマとする。
$ gawk -F , '{print $0}' test.csv
1,ringo,100,3
2,banana,150,2
3,mango,300,1
■各カラムを連結して出力する。区切り文字は半角カンマとする。
$ gawk -F , '{print $1","$2","$3}' test.csv
1,ringo,100
2,banana,150
3,mango,300
■3カラム目と4カラム目をかけ算して出力
$ gawk -F , '{print $0","$3*$4}' test.csv
1,ringo,100,3,300
2,banana,150,2,300
3,mango,300,1,300
■3カラム目と4カラム目のかけ算を合計して出力
$ gawk -F , 'BEGIN{} {goukei+=$3*$4} END{print goukei}' test.csv
900
■3カラム目と4カラム目のかけ算の平均を出力
$ gawk -F , 'BEGIN{} {count++; goukei+=$3*$4;} END{print goukei/count}' test.cs
v
300
■AWK プログラムを別ファイルにして実行する
$ cat hello.awk
BEGIN{}
{count++; goukei+=$3*$4;}
END{print goukei/count}
$ gawk -F , -f hello.awk test.csv
300