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

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

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

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

答案1

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

答案2

alias cgrep='grep -nR --color'

用法:

$ cgrep somestring /path/to/dir/or/file/with*/possible/*wild.card

也是我最喜欢的之一:

$ pgrep some-hanging-process

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

$ kill $(pgrep some-hanging-process)

答案3

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

    export GREP_OPTIONS="--color=auto"

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

答案4

--color选项已经多次提到,但我想补充一点,可以使用环境变量配置突出显示匹配的颜色

export GREP_COLOR="1;33"

颜色应使用ANSI颜色代码进行编码,以供参考

Black       0;30     Dark Gray     1;30
Blue        0;34     Light Blue    1;34
Green       0;32     Light Green   1;32
Cyan        0;36     Light Cyan    1;36
Red         0;31     Light Red     1;31
Purple      0;35     Light Purple  1;35
Brown       0;33     Yellow        1;33
Light Gray  0;37     White         1;37

相关内容