
cal
コマンド出力で今日の日付を強調表示したいです。最良のアプローチは何ですか?
これが私が今まで持っているものです:
cal -m | grep -C6 --color "$(date +%e)"
ただし、日付が1桁しかない場合など、すべての場合に機能するわけではありません。また、その年のカレンダーが表示されたときに強調表示したいと思います。
答え1
正規表現を使って年鑑で今日だけ強調表示する方法がわかりませんが、cal -y
これはあなたの例がうまくいかない理由です。1桁の日付$(date +%e)
日付が1桁しかないと、出力の前にスペースが追加されるためです。
これは働きます:
cal | grep --color -EC6 "\b$(date +%e | sed "s/ //g")"
答え2
ncal -b
私をくすぐる
答え3
マイシステム(openSUSE 11.4、util-linux-2.19)では、出力フォーマットcalの現在の日付は、端末に出力されると自動的に強調表示されます(反転色)。マンページによると、これがデフォルト設定のようです。システムで動作しない場合はバグの可能性が高くなります。
答え4
このようなことを行うことは非常に複雑な場合があります。友達?