通过正则表达式全局着色终端

Jim*_*mmy 7 linux console regex color

我知道很多程序都使用颜色——(vim、ack、color-ls 等等)但是仍然有很多情况你会被黑色和白色所困扰。

有一些脚本会根据正则表达式为输出着色(即“使任何匹配 'dog' 的东西变成红色”),但这些脚本必须用管道调用 - 例如:"> cat myfile | color dog red" 这对任何东西都没用交互的。

我正在寻找的是可以连接终端模拟器(或实际执行此操作的终端)并为与给定正则表达式匹配的任何内容着色的东西,而与我当前使用的外壳或程序无关。如果这也适用于 ncurses,那就太棒了。我有太多的单色程序,如果我可以指定一个关键字列表以在它们出现或键入时突出显示/着色,那就太好了。

我使用 Guake 控制台,它可能使用 GNOME 终端,我不知道 GNOME 是否已经有这个功能。

And*_*ius 6

简短版本是:为什么,是的,您可以像任何其他程序一样通过管道从 shell 输出。

从那里,你可以使用任何你喜欢的东西,比如,说

$ bash | sed "$(echo -e "s@dog@\e[31mdog\e[0m@g; s@more here@more here@g;")"
Run Code Online (Sandbox Code Playgroud)

以为我会添加我的“彩虹”。享受:

for((b=0;$b<8;b++)); do echo -ne "\e[4${b}m4$b : "; \
  for((f=0;$f<8;f++)); do echo -ne "\e[3${f}m3${f}"; done; echo -e "\e[0m"; done
Run Code Online (Sandbox Code Playgroud)