スポンサーリンク
ENDブロックは終了処理に最適
※awkの使い方をまとめて一覧にしました。
参考:awk入門-使い方まとめ一覧-
参考:awk入門-使い方まとめ一覧-
※MACターミナル(BSD系)での動作確認です。
awkのブロック処理の順番は下記のようになります
1. BEGINブロック
2. メインブロック
3. ENDブロック
ENDブロックは最後に実行されますので、
終了処理に最適なので、うまく使いたいところです。
参考:awkで変数の初期化はBEGINブロック内が基本
逆に、初期化はBEGINブロックがわかりやすいですね。
可読性を高めるためにも、BEGINブロックとENDブロックはうまく使うと良いと思います。
スポンサーリンク
サンプルコード
例えば、下記のin.txtがあったとします。
$ cat in.txt 2 4 6 7 8 9 2 4 7
下記がサンプルコードになります。
$ cat sample.awk #!/bin/sh cat in.txt | awk ' #BEGINブロック BEGIN{ sum = 0 } #メインブロック { sum += $1 } #ENDブロック END{ print "総和=" sum } '
下記が実行結果になります。
$ ./sample.awk 総和=49
スポンサーリンク