アニメ『すべてがFになる THE PERFECT INSIDER』(2015)
エンジニアの私から見たら神様ともいうべき作家、 森博嗣 の小説が原作です。ドラマも2014に放送されてましたね、まだ見てませんが。
UNIX/LINUX好きにはたまらない設定です。天才が登場するってところも良いです。コンピュータ触ってると、キーをタタターンと打って、あっさり問題解決するのに、憧れますよね。暗算もコンピュータ並に早くできるとかっこいいし、かしこい連中よりも先回りして、あっと驚かせたりしたい。
アニメは、毎話ゆっくり進みます。あれ、こんだけ、っていうくらい。なので、レンタルで全部借りて一気に見るぐらいの方が良いです。
バナーコマンドで、Fを作ってみました。バナー・イン・バナーです。
banner(sysvbanner)は、引数に複数の文字列を指定すると、以下のように改行されてバナー表示されます。
takk@deb83:~$ banner AAAA BBBB CCCC # # # # # # # # # # # # # # # # # # # # # # # # # # # # ####### ####### ####### ####### # # # # # # # # # # # # # # # # ###### ###### ###### ###### # # # # # # # # # # # # # # # # ###### ###### ###### ###### # # # # # # # # # # # # # # # # ###### ###### ###### ###### ##### ##### ##### ##### # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##### ##### ##### ##### takk@deb83:~$
これを利用して、bannerの結果でbannerを作ってみましょう。
まず、スペースが大事なので、バナー中のスペースは、他の文字に変更しておきます。
takk@deb83:~$ banner A | tr ' ' . ...# ..#.# .#...# #.....# ####### #.....# #.....# takk@deb83:~$
次に、改行もスペースに変更します。trの次席にならべればよいです。
takk@deb83:~$ banner A | tr ' \n' '. ' ...# ..#.# .#...# #.....# ####### #.....# #.....# takk@deb83:~$
これを、xargsでbannerに渡すと、
takk@deb83:~$ banner A | tr ' \n' '. ' | xargs banner # # # # ####### # # ### ### ### ####### ### ### ### # # ### ### ### # # # # # # # # # # ####### ####### # # # # ### ### ####### ### ####### ### ### # # ### # # ### ### # # ### # # # # # # # # # # ####### ####### # # # # ### ####### ### ### ### ####### ### # # ### ### ### # # ### # # ### ### ### # # # # # # # # # # ####### ####### # # # # ####### ### ### ### ### ### ####### # # ### ### ### ### ### # # # # ### ### ### ### ### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ####### ####### ####### ####### ####### ####### ####### # # # # # # # # # # # # # # ####### ####### ####### ####### ####### ####### ####### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ####### ####### # # # # ####### ### ### ### ### ### ####### # # ### ### ### ### ### # # # # ### ### ### ### ### # # # # # # # # # # ####### ####### # # # # ####### ### ### ### ### ### ####### # # ### ### ### ### ### # # # # ### ### ### ### ### # # takk@deb83:~$
どかんと大きなバナーになりますね。ドットが邪魔なので、###を空白に置換しましょう。perlで置換します。
takk@deb83:~$ banner A | tr ' \n' '. ' | xargs banner | perl -pe 's/[^#]###[^#]/ /g' # # # # ####### # # ####### # # # # # # # # # # # # ####### ####### # # # # ####### ####### # # # # # # # # # # # # # # # # ####### ####### # # # # ####### ####### # # # # # # # # # # # # # # # # ####### ####### # # # # ####### ####### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ####### ####### ####### ####### ####### ####### ####### # # # # # # # # # # # # # # ####### ####### ####### ####### ####### ####### ####### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ####### ####### # # # # ####### ####### # # # # # # # # # # # # # # # # ####### ####### # # # # ####### ####### # # # # # # # # takk@deb83:~$
さて、#のままです。trの末席にAを加えればよいです。
takk@deb83:~$ banner A | tr ' \n#' '. A' | xargs banner | perl -pe 's/[^#]###[^#]/ /g'
こうなります。
AをFにすると、すべてがFになります。
コメント