アニメ『パンプキン・シザーズ』(2006~2007)
ランデルは戦車相手に肉弾戦で勝ってしまいます。それがこのアニメを見てて面白かったところです。まあ先日『ベルセルク』を視聴したばかりなので、戦っている時のランデルがガッツみたいに感じたりしますけど。まだ視聴途中ですが全体のストーリーがよくわからず、視聴断念しそうです。何度も見ればわかってくるのでしょうか。
パンプキンといえば、近所のデパートで、もうハロウィンコーナーを見かけました。気が早いですねえ。と油断してたら、クリスマス、大晦日と、一年あっという間だった、となるのでしょうね。
今回は、上の画像のように、bannerを仮装させたいと思います。
bannerコマンドを使った遊びとしては、過去に「text in sysvbanner(バナーコマンド遊び)」「cutで暗号解読?rubyのzipを使った文字列合成」「花文字バナーをHTMLへ」でも取り上げましたが、まだまだbannerで遊べそうです。
では、まず普通にbannerコマンドを使ってみます。
takk@takk:~/test$ banner HALLOWEEN # # # # # ####### # # ####### ####### # # # # # # # # # # # # # # # ## # # # # # # # # # # # # # # # # # ####### # # # # # # # # # ##### ##### # # # # # ####### # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # ####### ####### ####### ## ## ####### ####### # # takk@takk:~/test$
全部#で表示されました。
trでキャラクタをすり替えてみます。
takk@takk:~/test$ banner HALLOWEEN | tr \# H H H H H H HHHHHHH H H HHHHHHH HHHHHHH H H H H H H H H H H H H H H H HH H H H H H H H H H H H H H H H H H HHHHHHH H H H H H H H H H HHHHH HHHHH H H H H H HHHHHHH H H H H H H H H H H H H H H H H H H H H H H H H H H HH H H H H HHHHHHH HHHHHHH HHHHHHH HH HH HHHHHHH HHHHHHH H H takk@takk:~/test$
全部変わってしまいましたね。
どうやったら一文字ずつ置換できるでしょうか。文字通り「一文字ずつ」分割してみます。
takk@takk:~/test$ grep -o "." <<< HALLOWEEN H A L L O W E E N takk@takk:~/test$
一文字ずつ分割したら、それをforで回します。
takk@takk:~/test$ for i in `grep -o "." <<< HALLOWEEN`;do > banner $i > done # # # # # # ####### # # # # # # # # # # # # # ####### # # # # # # # # # # ####### # # # # # # ####### ####### # # # # # # # # # # ####### # # # # # # # # # # # # # # # # # ## ## ####### # # ##### # # ####### ####### # # ##### # # ####### # # ## # # # # # # # # # # # ## # # takk@takk:~/test$
ここまでできたら、後はちょこちょこ加工すれば良いです。
できあがり。
~$ cat banner #!/bin/bash for i in `grep -o "." <<< $1`;do /usr/bin/banner $i | tr \# $i done | pr -t${#1}
bannerという名前で作ったので、実行権限を付与し、PATHで$PWDが最初に検索されるようにしています。
takk@takk:~/test$ ls -l 合計 4 -rwxr-xr-x 1 takk takk 95 9月 7 22:08 banner takk@takk:~/test$ echo $PATH | tr : \\n | head -2 /home/takk/test /usr/local/sbin takk@takk:~/test$
コメント