min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

bash bannerコマンドでシェル画面に文字列を出すスクリプト(文字列Xamarinを出力)

 

ツイッターで見かけたこの記事。感動した。bashを使って画面に縦文字を書く「banner」コマンドの出力を、横にするワンライナー

f:id:min117:20160924205842p:plain

天才は居るもんだ。bash最高。awk最高。速攻で試してみる。

banner -w 40 'Use Xamarin' | tr '# ' '+-' | awk '{printf $0;if(length<40)for(i=length;40-i>0;i++)printf "-";print ""}' | awk '{for(i=1;i<=NF;i++)a[NR,i]=$i}END{for(j=1;j<=NF;j++){for(i=1;i<=NR;i++){printf a[i,j]}print ""}}' FS= | tail -r | tr '+- ' "# " | sed 's/ *s//'

f:id:min117:20160924210211p:plain

マジか。できた。ちょと本気感動した。文字列引数にして好きなの出せるようにするスクリプトにする。

$ vim bannerXamarin.sh

f:id:min117:20160924210647p:plain

実行してみる。

$ ./bannerXamarin.sh 'I LOVE Xamarin!!!'

f:id:min117:20160924211046p:plain

$ ./bannerXamarin.sh 'Now Trying Xamarin!!!'

f:id:min117:20160924211122p:plain

やばいなこれ。MacBook Proに取ってある予算、Windows機に使っちまいそうだ…