grep彩色线条

Pau*_*bse 4 linux bash grep

我写了一个简单的PHP shell脚本,它解析文件并输出某些元素.
它产生了大量的输出.在不同的(bash)颜色中,绿色表示OK,黄色表示警告,红色表示错误等.

在开发过程中,我想过滤掉一些行.例如,包含红色文本的所有行.

我可以使用grep(或其他)命令吗?

seh*_*ehe 7

我不知道您的输入是什么样的,但作为概念证明,您可以过滤ls使用绿色的输出中的任何行:

ls --color=always | grep '^[\[01;32m'
Run Code Online (Sandbox Code Playgroud)

其他颜色的查找表可以在这里找到:http://en.wikipedia.org/wiki/ANSI_escape_code#Colors

提示:如果您不知道,^[上面的部分应该输入Ctrl-VEsc(或者确实Ctrl-VCtrl-[在大多数终端上). 我相信会有一些选择让grep让它理解\x1B,但我还没有找到它