Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

awkプログラムを単独実行可能な状態にしておく

ある程度スクリプトの内容が熟れてきたら、
awkスクリプトの単独実行を検討してみるのもいいでしょう。

実際のところ

標準出力から数字列を受け取り、fizzbuzzの個数を受け取る以下のようなスクリプトがあったとします。

BEGIN { count = 0 } 
$1 % 3 == 0 && $1 % 5 == 0 { count = count+1 } 
END   { print "I found " count " fizzbuzz numbers. :)" }

これを単独実行可能にするのは、他のスクリプト言語同様、
スクリプトの頭に

#! 実行内容

と、コマンド実行の一文を記載するわけです。
awkの場合UNIX系なら/bin/gawkスクリプト読み込みオプションをつけてあげるだけでいいです。
OS Xだとgawkが/user/local/bin/gawkにあったりするので注意してください。
少なくとも、私は忘れてました。

#! /usr/local/bin/gawk -f

BEGIN { count = 0 } 
$1 % 3 == 0 && $1 % 5 == 0 { count = count+1 } 
END   { print "I found " count " fizzbuzz numbers. :)" }

実行権限を忘れないようにします。

$ chmod +x fizzbuzz

あとは、実行です

$ seq 1 16 | fizzbuzz
I found 1 fizzbuzz numbers. :)

参考もと

  • effective awk