我想通过颜色cal
或类似命令来强调假期。
我使用的是 OS X 和 Ubuntu 14,有没有简单的方法来启用该功能?
答案1
我不认为这是可能的标准cal
,但你可能想看看gcal
,GNU 日历。
要突出显示您需要传递-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
是前景蓝色的 ANSI 代码,32
是前景绿色的 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
。