9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

「cowsay Happy New Year!」をやってみた

Posted at

新年あけましておめでとうございます。
今年の干支は丑ですね。
丑といえば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年が始まった瞬間にツイートしたものができました。

まとめ

今回は丑年にちなんでcowsayコマンドを紹介しました。
UNIXコマンドにはこのようなユニークなコマンドもあるので、とても奥が深いです。
おそらくこの魅力に惹かれてUNIXコマンドにのめり込んだ方も少なくないのではないのでしょうか?

9
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?