awkの基本構文
※MACターミナル(BSD系)での動作確認です。
awkの基本構文についてです。
基本的に下記の型(基本構文)に合わせて書いて、用途に合わせてカスタマイズすると良いと思います。
cat in.txt | awk '
#BEGINブロック
BEGIN{
#初期化処理を書く
}
#メインブロック
{
#メイン処理を書く
}
#ENDブロック
END{
#最終処理を書く
}
'
サンプルコード
例えば、下記のin.txtがあったとします。
$ cat in.txt 2,3 4,4 6,8 7,6
下記がサンプルコードになります。
BEGINブロックで、初期化処理として、","区切り文字を設定します。
メインブロック、2列目を加算していきます。
ENDブロックで、最終処理として、総和をprint出力しています。
$ cat sample.awk
#!/bin/sh
cat in.txt | awk '
#BEGINブロック
BEGIN{
FS =","
sum2 = 0
}
#メインブロック
{
sum2 += $2
}
#ENDブロック
END{
print "総和=" sum2
}
'
下記が実行結果になります。
$ ./sample.awk 総和=21
