对 grep 输出进行着色

对 grep 输出进行着色

我定义grep

alias grep="grep --colour -iTHn"

所以,输出是:

<filename>  <lineno>  <line with matching word>

现在,使用我的深色终端,文件名颜色几乎无法读取。我可以

export GREP_COLORS='fn=00;32'

更改我的文件名,或者

export GREP_COLOR='00;35'

改变我的匹配词,但我没能把它们一起做。

所以,问题是,是否可以使用自定义值/颜色突出显示 grep 输出的所有字段?例如,01;34 为文件名,01;32 为行号,01;35 为关键字?

答案1

中的说明GREP_COLORS符以冒号分隔,因此您可以使用此行执行您所要求的操作:

GREP_COLORS='fn=01;34:ln=01;32:mt=01;35' grep --colour -iTHn <pattern> <file>

详细信息当然在手册在这里

相关内容