アニメ『すべてが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になります。



コメント