calコマンドでカレンダー表示と祝日表示 macOS/Linux/Unixシェルコマンド
macOSのターミナルでカレンダー表示できるcalコマンドのご紹介です。今まで使ってなかったのですが、これ、地味に便利ですwしかも祝日表示させる方法も見つけましたので、後半でご紹介いたします。
calコマンドまとめ
いきなり、calコマンドのまとめです。
項目 | コマンド |
---|---|
今月のカレンダーを表示 | $cal |
指定した月のカレンダーを表示 | $ cal 3 2024 |
年間カレンダーを一覧で表示 | $ cal 2024 |
先月、当月、翌月のカレンダーを表示 | $ cal -3 |
とくに先月、当月、翌月のカレンダーを表示表示できる $ cal -3 が便利です。
祝日も表示させる
祝日も表示できないか調べてたところ、 こちらの記事 が大変参考になりました。ありがとうございます!以下、祝日を表示させるコマンドです。
bash
cal -3; curl -s https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv | iconv -f SHIFT-JIS -t UTF-8 | grep -E "`date -v-1m '+%Y/%-m/'`|`date '+%Y/%-m/'`|`date -v+1m '+%Y/%-m/'`"
内閣府が発行している祝日のcsvデータをcurlでフェッチし、iconvでshift-jisからutf-8へ文字エンコード処理を行います。そして、csvデータの中から、cal -3のカレンダー表示に合わせて先月、当月、翌月の祝日データをgrepでフィルタリングして表示させてます。
エイリアスに登録
祝日表示がかなり便利なので、シェルのエイリアスにcal3で登録しておきました。
.zshrc
$ source ~/.zshrc で設定を読み込み、cal3 を実行してみましょう。下図のように祝日も表示させることができました!
alias cal3="cal -3; curl -s https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv | iconv -f SHIFT-JIS -t UTF-8 | grep -E \"\$(date -v-1m '+%Y/%-m/')|\$(date '+%Y/%-m/')|\$(date -v+1m '+%Y/%-m/')\""
関連記事
アイデアノート > シェル・Python