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