新年あけましておめでとうございます。
今年の干支は丑ですね。
丑といえばUNIXコマンドにcowsay
があります。
これは牛に吹き出しで何か喋らせるアスキーアートを作るコマンドです。
例えばこんな感じの実行結果が出力されます。
_____________
< Hello World! >
-------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
というわけで今回はこのcowsayコマンドであれこれ遊んでみようと思います。
インストール
UNIXコマンドなのでLinux、Macでそれぞれ使うことができます。
- Mac
brew install cowsay
- Linux
sudo apt-get install cowsay
使い方
先程のHello Worldを出力するときには以下のコマンドを実行します。
cowsay Hello World!
そして、コマンドの実行結果をcowsayで出力するときにはコマンドとコマンドの間に|
を入れるとできます。
echo "Hello World!" | cowsay
cowsay Happy New Year!
さて、本題であるcowsay Happy New Year!
をやってみます。
$ cowsay Happy New Year!
_________________
< Happy New Year! >
-----------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
まぁそうなりますよねw。
ここからさらに日付を付け加えて年賀状みたいにしてみます。
日付はdate
コマンドを使います。
そして日付を指定したフォーマットで出力させるには、以下のようにできます。
date "+%Y/%m/%d"
ダブルクオーテーションで囲んで頭に+
をつけてあとは%Y
のようにフォーマットを指定します。
指定するフォーマットは以下のサイトが参考になります。
https://hydrocul.github.io/wiki/commands/date.html
フォーマットさえ指定すれば、文字列の中に日付を挿入することも簡単にできます。
なので、Happy New Year! 2021/01/01
のように出力したいときに以下のコマンドです。
date "+Happy New Year! %Y/%m/%d"
これで先程のcowsayコマンドを合わせると以下のコマンドになります。(Twitterの投稿用に時間フォーマットも指定してみました)
date "+Happy New Year! %Y/%m/%d %H:%M:%S" | cowsay
そして、2021年が始まった瞬間にツイートしたものができました。
_____________________________________
— K.Miura (@k_miura_io) December 31, 2020
< Happy new year! 2021/01/01 00:00:00 >
-------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
まとめ
今回は丑年にちなんでcowsayコマンドを紹介しました。
UNIXコマンドにはこのようなユニークなコマンドもあるので、とても奥が深いです。
おそらくこの魅力に惹かれてUNIXコマンドにのめり込んだ方も少なくないのではないのでしょうか?