我习惯于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 首次支持多种颜色。