今回は古くからあるカレンダーを表示するコマンドcalです。カレンダー、日本語だと暦(こよみ)ですが、日常的に使っていますが実に奥深いものです。現在使用されているのはグレゴリオ暦ですが、この暦になったのは割と最近です(人類の歴史の長さからして)。特に日本だと明治以降に改暦されているため、西洋諸国と比べても最近といえます。暦に興味ある方は調べてみるとよいでしょう。
今回もこれまでのようにサンプルで利用するファイル・ディレクトリはデスクトップのsampleディレクトリとしています。デスクトップにsampleディレクトリがない場合は作成しておいてください。(コマンド入力ならmkdir ~/Desktop/sampleとして作成することができます)
calコマンドが見つかりません!?
それでは早速calコマンドを使ってカレンダーを表示してみましょう。ターミナルを開いてcalと入力すると入力した時点での1ヶ月分のカレンダーが表示されます。
cal
calと入力したのに表示されない場合はncalと入力してみてください。それでもコマンドがないというメッセージが表示されたりするかもしれません。
ncal
そのような場合はncalをインストールしてください。以下の図にUbuntuでの手順を図で掲載しておきます。インストールされたらcalかncalコマンドを入力して動作を確認します。
カレンダーを表示
すでにコマンドを入力してしまいましたが、calとだけ入力すると今月のカレンダーが表示されます。
cal
今年の特定の月のカレンダーを表示する場合はmオプションを使います。-mの後に表示したい月を示す数値を指定します。-m 1なら1月、-m 9なら9月のカレンダーが表示されます。
cal -m
特定の年のカレンダーを表示するにはcalの後に年数を指定します。cal 2022なら2022年のカレンダーが表示されます。calでの年数は西暦1年から9999年まで指定できます。
cal 2022
cal -m 12 2022
今月から数ヶ月分先のカレンダーを表示することもできます。この場合はAオプションを指定します。-Aの後に5とすると今月と来月から5ヶ月分のカレンダーが表示されます。
cal -A 5
今月から数ヶ月分前のカレンダーを表示することもできます。この場合はBオプションを指定します。-Bの後に5とすると今月と先月から5ヶ月分さかのぼってカレンダーが表示されます。
cal -B 5
calをどう利用する?
古くから存在するcalコマンドですが、カレンダーなら壁にある紙のカレンダーを見てもいいですし、パソコンやスマートフォンにあるカレンダーを利用した方が便利です。Webでcalコマンドで検索するとカレンダー表示されたけど、だから何なのみたいな感じな文章も散見されます。確かに、このままでは役立たないように見えます。
そこで、どうにかcalコマンドを利用したいということで見回すと壁にかけてある紙のカレンダーが目に・・・この紙のカレンダーを作っている人(デザイナー、DTP関連業)にとっては役立つ可能性があるかもしれません。特に指定した年の一年分のカレンダーがテキストでまとめて手軽に生成されるのは他にはない便利さがあります。
ここからはDTP関連ということでmacOS上で動作するコマンドを利用します。
まず、生成されたカレンダーをテキストファイルで保存します。テキストファイルとして保存するにはリダイレクトを使います。以下のようにするとカレントディレクトリに2022.txtという名前のファイルが保存されます。