Mac上的Grep_color


12

我正在尝试使用终端在Mac上突出显示我的正则表达式。我把这是我的.profile

export GREP_COLOR='1;30;40'

没有任何变化,因此我将其添加到bash.profile仍然没有的内容中,没有重新启动计算机。当我:

egrep --color=auto ".*\W blah blah "

然后它会亮黄色,但是我想知道我.profile或我做错了什么bash_profile

任何帮助都将是一件好事:雪豹,只有普通的旧货站:-)


2
GREP_COLOR被弃用吗?无论如何,grep --color都应使用默认颜色突出显示匹配项,而不需要环境变量。
jw013 2012年

这只是一半。GREP_COLOR允许您自定义实际颜色,而--color仅启用/禁用默认情况下配置的任何颜色。我认为GREP_COLORS(复数)已弃用。这就是为什么几年前我的着色形式在没有引起我注意的情况下消失了的原因。
Sridhar Sarnobat,

Answers:


22

这在我的雪豹机器上工作。尝试仅在终端中复制和粘贴文本,然后查看grep是否显示所需的行为。如果是这样,那么问题是您没有将其添加到正确的点文件中。您正在使用什么外壳?您应将其添加到的点文件取决于您使用的shell。

export GREP_OPTIONS='--color=auto'
export GREP_COLOR='1;30;40'

另外,尝试运行printenv以查看已设置的环境变量,并查看是否已经有任何grep选项。


优秀!!!谢谢!!比设置别名好得多!
cwd 2012年

1
奇怪的。我本来打算对这个答案投反对票,但使用Snow Leopard上的Terminal不适用于我。它将匹配的文本变成全黑框。
Old Pro

2
@OldPro-我建议实际使用,export GREP_COLOR='1;35;40'因为35是青色,30是灰色-40是黑色背景,所以看起来很暗。但是,可以!:)
cwd 2012年

我的终端变得更漂亮了。我知道内心真正的美丽,但我肤浅。
Sridhar Sarnobat,

1

我认为Snow Leopard的默认设置不是使用color作为grep。我在OS X机器上取得了成功,添加了一行这样alias grep=grep --color=always的内容.bashrc以确保一致的突出显示。


6
--color=always如果grep的输出通过管道传递到另一个命令,可能会出现问题。--color=auto仅当输出直接显示在终端上时,才会发出控制字符
Gowtham'3

1

不是bash.profile也不bash_profile.bash_profile

至于Mac上的颜色,只需将其放入您的~/.bash_profile

export GREP_OPTIONS='--color=auto'
export GREP_COLOR='1;30;40'

确保.bash_profile在您的主目录(~/)中使用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.