CALENDAR(1)

名称
calendar - 予定表サービス

書式
calendar [-a] [-A num] [-B num] [-F friday] [-f calendarfile] [ -t dd [.mm[.year]]] [-W num]

解説
calendar ユーティリティは、カレントディレクトリの calendar という名前のファイルをチェックし、今日もしくは明日の日付で始まる行を 表示します。 週末の前日 (通常は金曜日) には、3 日間分のイベントを表示します。

オプションには以下のものがあります:

-A num
    今日から num 日先(未来)までの行を表示します。

-a  全ユーザの ``calendar'' ファイルを処理し、結果をメールで各ユーザに 送ります。このオプションを使用するためには、スーパユーザの権限が必要です。

-B num
    今日から num 日前 (過去) までの行を表示します。

-F friday
    どの日が ``金曜日'' (週末が始まる前日) かを指定します 。 デフォルトは 5 です。

-f calendarfile
    デフォルトのカレンダファイルとして calendarfile を使用します。

-t  dd [.mm[.year]] テスト専用: 指定された値に日付を設定します。

-W num
    今日から次の num 日 (未来方向) は線を表示します。 日数を数えるにあたり、週末は無視します。

各国語でのカレンダを扱うには、 カレンダファイルのできるだけ最初のほうに “LANG=<locale_name>” という記述を入れておきます。 その国のカレンダでのイースター名を扱うには、 “Easter=<national_name>” (Catholic Easter の場合) あるいは “Paskha=<national_name>” (Orthodox Easter の場合) という記述を入れます。

各行は月や日で始まらなければなりません。 数字による表記、文字による表記を含め、ほぼいかなる形式でも受け付けます。 適切なロケールが設定されていれば、 その国の月表記や曜日表記も使用できます。 アスタリスク (``*'') 1 つは、全ての月にマッチします。 曜日だけで月の指定のないものは、毎週のその曜日にマッチします。 月だけの指定で日のないものは、その月の 1 日 (ついたち) にマッチします。 日の指定の後に 2 桁の数字が来た場合は、この数字が月の指定とみなされます。 タブではじまる行は直前に指定した日にちが指定されたことになり、 これによって同一日のイベントを複数の行に記述することが出来ます。

``Easter'' は今年のイースターであり、 正または負の整数を後ろにつけることができます。

``Paskha'' は今年の Orthodox Easter であり、 正または負の整数を後ろにつけることができます。

曜日の後ろには ``-4'' ... ``+5'' をつけることができます。 これらは「最後」「第 1」「第 2」「第 3」「第 4」の別名であり、 「4 月の最後の月曜日」といった日付が変動するイベントの記述に用いられます。

慣習により、日付の後にアスタリスクが付いているイベントは 決まった日にちではなく、その年によって日にちが変わります。

イベントの内容は行の中の最初のタブ文字以降に記述します。 行の中にタブ文字がなければイベント内容は表示されません。 行の中の最初の文字がタブである場合、 その行は直前の行の継続行として扱われます。

``calendar'' ファイルは cpp(1) によって処理されます。 例えば、その会社の休日やミーティングの予定などの 共有ファイルを include することができます。 共有ファイルがフルパス名指定されない場合、 cpp(1) はまずカレントディレクトリ (もしくはホームディレクトリ) を参照し、 次に /usr/share/calendar ディレクトリを参照します。 空行や C のコメント (/* ... */) の部分は無視されます。

calendar ファイルの例を示します (タブ文字 <tab> は強調した \t で示します):

    LANG=C
    Easter=Ostern
    #include <calendar.usholiday>
    #include <calendar.birthday>
    6/15\t6月15日 (曖昧だと、デフォルトでは 月/日になります).
    Jun. 15\t6月15日.
    15 June\t6月15日.
    Thursday\t毎週木曜日.
    June\t毎年6月1日.
    15 *\t毎月15日.
    May Sun+2\t5月の第2日曜日 (母の日)
    04/SunLast\t4月の最後の日曜日,
    \t欧州のサマータイム
    Easter\tイースター
    Ostern-2\tGood Friday (イースターの 2 日前)
    Paskha\tOrthodox Easter

関連ファイル
calendar
    カレントディレクトリにあるカレンダファイル。
~/.calendar
    カレンダ のホームディレクトリ。 もしこのディレクトリが存在すれば、 そこに chdir します。
~/.calendar/calendar
    カレントディレクトリにカレンダファイルが存在しない場合に 用いるカンレダファイル。
~/.calendar/nomail
    このファイルが存在すればメールは送信しません。

デフォルトのカレンダファイルとして、以下のものが用意されています:

calendar.all
    すべてのデフォルトファイルをインクルードするファイル。
calendar.australia
    オーストラリアの記念日。
calendar.birthday
    有名な人 (およびそれほど有名でない人) の誕生日や没日。
calendar.christian
    キリスト教の休暇。 このカレンダは、その年に合うように、 システム管理者が毎年更新する必要があります。
calendar.computer
    コンピュータ関連の人が知っておきたい記念日。
calendar.croatian
    クロアチアの記念日。
calendar.freebsd
    FreeBSD コミッタの誕生日。
calendar.french
    フランスの記念日。
calendar.german
    ドイツの記念日。
calendar.history
    その他いろいろ。 主にアメリカの歴史的な記念日。
calendar.holiday
    その他の記念日。 あまり知られていないものや、全く知られていないものも含まれています。
calendar.judaic
    ユダヤ教の休暇。 このカレンダは、その年に合うように、 システム管理者が毎年更新する必要があります。
calendar.music
    音楽関係の記念日。 誕生日、没日。 特にロックンロール系。
calendar.newzealand
    ニュージーランドの記念日。
calendar.russian
    ロシアのカレンダ。
calendar.southafrica
    南アフリカの記念日。
calendar.usholiday
    アメリカ合衆国の祝日。 このカレンダは、移動する祝日がその年に正しく合うよう、 システム管理者が毎年更新する必要があります。
calendar.world
    各国のカレンダファイル以外すべてをインクルード。

関連項目
at(1), cpp(1), mail(1), cron(8)

互換性
以前の calendar は、正しい日付であれば、行のどこにあっても認識するように プログラムされていましたが、本バージョンの calendar は、行の先頭にある日付しか認識しません。

歴史
calendar コマンドは Version 7 AT&T UNIX から登場しました。

バグ
ユダヤの祝日や月齢は calendar ユーティリティでは処理できません。