Mac OS X 终端中的 Grep - 仅显示一种颜色

Mac OS X 终端中的 Grep - 仅显示一种颜色

我习惯于grep为文件名、行号和匹配本身着色。这三个应该是不同的颜色。这在 Linux 终端上甚至在 Windows 上的 MinGW 上都可以完美运行,但在 OS X 上即使我设置了,GREP_COLOR我也只能在匹配结果上获得颜色。

grep操作系统附带的版本是否太旧?

MBA 13 上的 10.7.3 带有 Terminal.app。

答案1

正如 Ignacio 所说,OS X grep 有点过时了(它是 2.5.1 版本)。不过您可以安装最新的 GNU grep。

与往常一样,您可以通过以下方式在 OS X 上安装大多数缺少的 Linux 工具自制

brew install grep

这将安装ggrep而不会覆盖您现有的grep。如果您想更改它,请参阅信息消息:

所有命令都已安装前缀“g”。如果您需要使用这些命令及其正常名称,您可以从 bashrc 向 PATH 添加“gnubin”目录,例如:

PATH="$(brew --prefix)/opt/grep/libexec/gnubin:$PATH"

此外,您可以启用颜色选项并默认排除某些目录,这可能会使其更有用:

alias grep="ggrep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}"

将其添加到您~/.bash_profile正在使用的任何 shell 配置中。

答案2

正确。GNU grep 2.5.3 首次支持多种颜色。

相关内容