我需要突出显示某些关键字,例如"失败,失败,错误,致命,缺失"在我的终端上。
我需要输出所有命令,而不是任何特定命令。我假设我需要调整我的bashrc
文件。
我可以使用颜色:
<input coming to terminal>|grep -P --color=auto 'fail|failed|error|fatal|missing|$'
我尝试了以下命令,但没有帮助:
tail -f $(tty) |grep -P --color=auto 'fail|failed|error|fatal|missing|$' &
[1]+ Stopped(SIGTTIN) tail -f $(tty) | grep -P --color=auto 'fail|failed|error|fatal|missing|$'
搜索SO以寻找答案,但未找到任何提供所需答案的问题。
答案 0 :(得分:2)
我不认为使用shell实现这一目标真的很优雅。理想情况下,您可以使用这种内置关键字突出显示的终端仿真器。您可以通过将bash
的输出通过添加ANSI颜色转义的过滤器来管理一些方法。这是一个sed
脚本,取代&#34;失败&#34; (红色)失败(正常):
s/fail/\x1B[31m&\x1B[0m/
t done
:done
运行bash
,其输出通过sed
传输,如下所示:
$bash | sed -f color.sed
这种机制并非没有问题,但在某些情况下可行。通常,最好只收集所需的输出,然后通过sed
进行管道处理,而不是直接使用bash
输出。