在终端中*始终*突出显示单个单词

在终端中*始终*突出显示单个单词

有没有适用于 Linux/Unix 的终端仿真器(如 GNOME 终端),可以始终突出显示单个单词(如“用红色突出显示单词 FAIL”)?或者是否有适用于 GNOME 终端的插件(如果存在类似“gnome-terminal 插件”的东西)。

无论终端内运行的是什么应用程序,解决方案都应该突出显示该单词,即,运行cat test.txt应该突出显示该单词以及make all

我睡眼惺忪的,非常感激任何帮助。

答案1

使用 bash,您可以使用以下命令以红色突出显示所有单词“FAIL”:

txtred=$(echo -e '\e[0;31m')
txtrst=$(echo -e '\e[0m')
bash | sed -e "s/FAIL/${txtred}FAIL${txtrst}/g"

它的作用是创建一个新的 bash shell,并使用 编辑此新 shell 的标准输出sed。如果您想结束标准输出版本,只需键入exit即可返回到上一个 shell。您可以找到更多颜色命令这里.echo -e需要变化才能获得 的真实 ESCAPE 值\e

我尝试使用echocat来运行此子 shell,它运行正常。但是,它会破坏期望终端作为输出的程序,例如vi。我猜它也会破坏使用特殊输出缓冲的程序。它还会破坏命令,例如echo -n FAIL并更改命令的行为ls(当输出是终端时,ls 每行打印多个文件,当输出是管道时,每行打印一个文件)。

答案2

克利德 运行良好。我在 RHEL 6.2 上使用它,来自 EPEL 存储库

答案3

您可以使用

cat filename|grep word -w 

其中filename是文件名,word是您要突出显示的单词。

相关内容