Cal

如何在“cal”命令中通過顏色強調假期

  • October 29, 2014

我想通過顏色cal或類似命令來強調假期。

我正在使用 OS X 和 Ubuntu 14,是否有簡單的方法來啟用該功能?

我不認為標準是可能的,cal但您可能想看看GNU 日曆gcal

要突出顯示您需要傳遞-H選項的文本:

-H text
--highlighting=text
   Set highlighting sequence / marking character pairs explicitly.
   In this sense, highlighting sequences are control character sequences 
   which cause a color or intensity switch in output text. Typical control 
   character sequences are the ANSI escape sequences [...]

手冊中甚至還有突出顯示假期的範例:

For example:

-H \x20:\x20:\x1:# respectively
--highlighting=\x20:\x20:\x1:#
marks the actual day like ‘\x20actual date\x20’6 and the holiday date like 
‘\x1holiday date#’ using the given marking characters. 

-H \x1b[34;42m:\x1b[0;40m or
-H \033[34;42m:\033[0;40m or
-H \E[34;42m:\E[0;40m
defines a starting ANSI escape highlighting sequence ‘\x1b[34;42m’ used for 
actual day and ending ANSI escape highlighting sequence ‘\x1b[0;40m’ with no 
given highlighting sequence for holidays, so default highlighting sequences for 
holidays are used (non-given entries are always skipped).

例子:

  • 以藍色突出顯示目前日期,以綠色突出顯示目前月份的美國/阿拉斯加 (US_AK) 節假日:
gcal -H '\e[34m:\e[0m:\e[32m:\e[0m' -q US_AK

注:34前景藍色32為 ANSI 程式碼,前景綠色為 ANSI 程式碼

結果:

在此處輸入圖像描述

  • 在整個 2014 年31,在綠色背景 ( ) 上以紅色 ( ) 顯示目前日期,在洋紅色 ( ) 上以黃色 ( ) 顯示42中國 ( CN) 節假日33``45
gcal -H '\e[31;42m:\e[0m:\e[33;45m:\e[0m' -q CN 2014

您將在選項info gcal說明下找到所有國家/地區程式碼。-q

引用自:https://unix.stackexchange.com/questions/164555