如何使用 GNU grep 突出显示匹配项?

elm*_*rco 18 grep colors

我在一些 Linux 上看到过,它grep被配置为突出显示匹配,并打印匹配的文件。

如何配置grep以突出显示匹配项?

Kai*_*Kai 19

我发现 pimp grep 的最佳方法是使用ack,它本质上是带有智能忽略列表的递归 grep(例如,不搜索 .svn 目录,忽略备份文件等),结果的颜色突出显示和perl 正则表达式。这是您希望 grep 在 98.6% 的情况下执行的操作。

  • +1 提到 ack。不要忘记包含 --pager="less -R" 选项以保持分页结果的突出显示。可能还值得一提的是,在 Ubuntu 上,它被称为“ack-grep”,因为采用了“ack”。 (5认同)
  • 由于 ack 只是一个 perl 脚本,你*可以*在你安装了 perl 的任何地方使用它,这不是一个高标准。 (2认同)

Eim*_*tas 11

alias cgrep='grep -nR --color'
Run Code Online (Sandbox Code Playgroud)

用法:

$ cgrep somestring /path/to/dir/or/file/with*/possible/*wild.card
Run Code Online (Sandbox Code Playgroud)

也是我的最爱之一:

$ pgrep some-hanging-process
Run Code Online (Sandbox Code Playgroud)

将列出与 some-hanging-process 的名称匹配的进程的所有 pid,您可以在以下情况下使用它:

$ kill $(pgrep some-hanging-process)
Run Code Online (Sandbox Code Playgroud)

  • 最后一个有 pkill 命令 (12认同)

Ste*_*ski 7

我在我的 .bashrc 中设置了它,而不是使用别名重新定义 grep :

    export GREP_OPTIONS="--color=auto"
Run Code Online (Sandbox Code Playgroud)

对我来说,这适用于 Linux、MacOSX 和 FreeBSD。