出现时,Linux终端中的颜色特定字

Tur*_*bar 15 linux terminal colors

我在终端中运行了一堆脚本(我没有能力编辑它们),这些脚本将消息输出到终端.我希望我的终端能够自动为输出中的特定单词着色.

例如,某些脚本FAIL在测试失败时输出.如何配置终端,使其在任何时候显示为特定颜色(例如,红色).

And*_*ett 11

自己给单词着色可能更容易,而不是让终端为你着色.如果您无法编辑创建输出的脚本,是否可以通过其他内容过滤它们?

在最有可能成为规模末端的情况下,您可以通过grep以下方式管道输出:

tail -F logfile | grep --color -P "FAIL|"
Run Code Online (Sandbox Code Playgroud)

这匹配"FAIL"或"",并突出显示字符串的匹配部分.

例如,您可以进一步使用更专业的内容,如本博客文章中所述.

  • `-P` 在 Mac 上不是有效选项。我用过:`... | egrep --color "FAIL| "`,因为我的所有行都包含至少一个空格字符,并且对这些字符进行着色是不可见的。`egrep "FAIL|"` 不起作用:`egrep: 空(子)表达式`。或者你可以安装 GNU' grep; 请参阅http://stackoverflow.com/a/22704387/432306 (3认同)