Answers:
使用--color=always
。
grep
检测输出是否到管道(或文件)。当输出文件时,您绝不会想要颜色,因为这是终端的转义序列。通常:
foo ^[[01;31m^[[Kbar^[[m^[[K
来自例如:
grep pattern file > result
覆盖使用--color=always
。
grep --color=always pattern file | ...
例:
拥有档案:
ID=111;Year=2013;foo=bar
ID=222;Year=2013;foo=baz
然后
grep --color=always ID file | grep --color=always 2013 | grep foo
将颜色ID
,2013
和foo
。
grep --color=always ID file | grep 2013 | grep foo
将颜色ID
和foo
,但不会2013
。
1重要:您还必须记住,从颜色中添加的杂波将传递到链中的下一个命令。ID上色后,您就无法(轻松地)匹配ID=111
。
在某些情况下,可能需要在文件中添加终端颜色。尝试例如
grep --color=always foo file > result
cat result
尽管生成的文件的可移植性非常有限。
着色本身也是一种扩展。
如好@slm所述,您可以添加:
export GREP_OPTIONS="--color=always"
你.bashrc
等等,但不,除非你出于某种原因真正理解的含义,还是要去做。grep
由于上述事实1,它在许多方面都将破裂。
alias
如果经常使用,请添加一个。
alias cgrep='grep --color=always'
GREP_OPTIONS
并--color
采取三个选择:never
,auto
和always
。前两个应该是唯一考虑的GREP_OPTIONS
。
您也可以GREP_COLORS
在man
页面或gnu grep中签出。
export GREP_OPTIONS="--color=always"
在.bashrc中,将选项设置为任何粗俗的默认设置,您几乎已经钉上了它!