cal でカレンダー祝日表示|シェル

はじめに
macOSのターミナルでカレンダー表示できるcal
コマンドのご紹介です。今まで使ってなかったのですが、これ、地味に便利ですwしかも祝日表示させる方法も見つけましたので、後半でご紹介いたします。
calコマンドまとめ
いきなり、calコマンドのまとめです。
項目 | コマンド |
---|---|
今月のカレンダーを表示 | $cal |
指定した月のカレンダーを表示 | $ cal 3 2024 |
年間カレンダーを一覧で表示 | $ cal 2024 |
先月、当月、翌月のカレンダーを表示 | $ cal -3 |
とくに先月、当月、翌月のカレンダーを表示表示できる
$ cal -3
が便利です。

祝日も表示させる
祝日も表示できないか調べてたところ、 こちらの記事 が大変参考になりました。ありがとうございます!以下、祝日を表示させるコマンドです。
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
で登録しておきました。
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/')\""
$ source ~/.zshrc
で設定を読み込み、cal3
を実行してみましょう。下図のように祝日も表示させることができました!

関連記事
- nkfコマンドで文字コード変換 macOS/Linux/Unix
- Androidアプリ開発 Compose x Room を使って Database を操作する
- 【断酒iOSアプリ制作】カレンダーを表示する (1日目)
- dateコマンドで日時の表示 macOS/Linux/Unix
- ESP32でHTTPSアクセス、ただし証明書検証なし