ユニケージ先日なぜかふと思いつく。FizzBuzz問題を解くのに、シェル芸で制御構造的なもの無しで解いた。回りくどいように見えるが、この方法には一つ利点?があるように思う。'/zz/s/[0-9]*//'12Fizz4BuzzFizz78FizzBuzz11Fizz1314FizzBuzz1617Fizz19Buzzこのシェル芸の本質は前半まで。Buzz次に同じキー(数字)の出力を、Tukubaiコマンドのyarrを使って横に並べる。Buzzあとは1から20までの数字を使ってloopjで補完。Buzzあとは下記のように文字列処理する。倍数に対応する部分は文字だけ表示このシェル芸の利点?は、倍数と出力する文字列の指定は、最初のawkに指定するだけ。倍数と文字列を増やすのも簡単ということ。$0,"Buzz"}'という具合。FizzBuzz拡張編を考えるその後、どうせならその利点を生かして、拡張版FizzBuzz問題をシェルプログラミングで解いてみることにした。Tukubaiお題(拡張版FizzBuzz問題)倍数と表示する文字列を標準入力から指定する。出力する数字の数は第一引数で指定する。101FizzBuzzFizz5FizzBuzz7FizzBuzzFizzさて倍数と表示する文字列の処理をするコードをどうするか?下記のようにawkを使ってawkスクリプトを作ってしまおう。$0,"Buzz"}これを一時ファイルに保存して、awkにスクリプトとして渡してやる。シェルスクリプトはこちら。$tmp*実行例は下記の通り。1001BizzFizzBizzBuzzBizzFizzKuzzBizzFizzBizzBuzz..........KuzzBizzFizzBizzBuzzBizzFizz97BizzKuzzFizzBizzBuzzこのシェルスクリプトのポイントは下記の通り。起きるとそこは雪国だった。寒い!おまけに年の瀬!!であるにも関わらず、ご参加いただき...2015-10-23【続】拡張FizzBuzz問題をシェルプログラミングで先日拡張FizzBuzz問題をシェルプログラミングで解いた。はてなブログPro情報処理ってもっとシンプルにならないだろうか?PKI関連、RubyやPHP等のLL、シェルスクリプト、シェル芸、ユニケージ見習い未満。シェルスクリプトとシェル芸はきっと違うんですよ。JPはてなブログをはじめよう!papiroさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。