unix的FizzBuzz
フィボナッチ数列をFizzBuzzするfibBuzzなんかも出てきて毎回作るのもなんなので、パイプでつないで処理するフィルタにしてみた。もちろんawk。
fzbz.awk - 3,5の倍数の時に文字列に置き換え
#! /usr/local/bin/gawk -f # # FizzBuzz filter # ($0%3)==0 && ($0%5==0){print "FizzBuzz";next} ($0%3)==0 {print "Fizz";next} ($0%5)==0 {print "Buzz";next} {print $0}
100.awk - 1〜100を生成
#! /usr/local/bin/gawk -f # # 1..100 generator for FizzBuzz # BEGIN{ for(i=1;i<=100;i++) print i }
これらfzbz.awk、100.awkは chmod +x で実行可能にしておく。
これでOK。フィボナッチ数列をFizzBuzzしたい時は以下のソースを使う。
#! /usr/local/bin/gawk -f # # Fibonacci number # BEGIN{ F[0]=0; F[1]=1; print F[1]; for(i=2;i<=100;i++){ F[i]=F[i-1]+F[i-2]; print F[i]; } }