突出显示 cal 中的当前日期

突出显示 cal 中的当前日期

我想在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

做这样的事情可能相当复杂;
为什么不尝试类似的东西朋友

相关内容