在 GNU ls 时间样式中包含着色

Mar*_*ter 10 ls terminal

我知道,我可以ls像这样指定自定义时间格式

ls -lAF --time-style="+ %Y-%b-%d  %H:%M:%S" --color=always
Run Code Online (Sandbox Code Playgroud)

但我想在时间格式中“走私”颜色。例如,我希望年份2014为红色。我该怎么做?

我曾尝试将颜色代码\033[0;31m放在 前面%Y,但代码不会被解释为颜色,而是被解释为胡言乱语。

Sté*_*las 12

按字面意思输入 ESC 字符。这通常是通过输入Ctrl+V然后输入请求的键来完成的,在这种情况下是Esc

或者在ksh93, zshorbash中使用$'...'引号,其中echo-like 转义序列被扩展:

ls -lAF --time-style=$'+ \e[31m%Y\e[m-%b-%d  %H:%M:%S' --color=always
Run Code Online (Sandbox Code Playgroud)