我想在cal
命令的输出中突出显示今天的日期。什么是最好的方法?
这是我到目前为止所拥有的:
cal -m | grep -C6 --color "$(date +%e)"
但它并不适用于所有情况,例如当日期只有一位数字时。我还希望在显示一年的日历时突出显示。
答案1
我不知道如何仅使用正则表达式突出显示年历中的这一天cal -y
,但您的示例不起作用的原因个位数日期是因为$(date +%e)
当日期只有一位数字时,会在输出前添加一个空格。
这将起作用:
cal | grep --color -EC6 "\b$(date +%e | sed "s/ //g")"
答案2
ncal -b
为我挠痒痒。
答案3
在我的系统(openSUSE 11.4、util-linux-2.19)上,如果输出到终端,输出形式 cal 中的当前日期会自动突出显示(反转颜色)。根据联机帮助页,这似乎是默认设置。如果它在您的系统上不起作用,则可能是一个错误。
答案4
做这样的事情可能相当复杂;
为什么不尝试类似的东西朋友?