Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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