用突出显示的匹配查看整个文件

我发现grep--color=always标志非常有用。 然而,grep只打印匹配的行(除非你要求上下文行)。 鉴于它打印的每一行都有匹配,突出显示不会增加尽可能多的功能。

我真的很喜欢cat一个文件,并用高亮的模式匹配查看整个文件。

有什么方法可以告诉grep打印每一行,而不管是否有匹配? 我知道我可以编写一个脚本来在文件的每一行上运行grep,但我很好奇这是否可以使用标准grep


这里有一些方法来做到这一点:

grep --color -E 'pattern|$' file
grep --color 'pattern|$' file
egrep --color 'pattern|$' file

这里有一些相同的内容。 有机会,你反正会少用,所以试试这个:

less -p pattern file

它会突出显示该模式并跳转到文件中的第一次出现。


我想推荐ack - 比grep更好,这是一款面向程序员的强大搜索工具。

$ ack --color --passthru --pager="${PAGER:-less -R}" pattern files
$ ack --color --passthru pattern files | less -R
$ export ACK_PAGER_COLOR="${PAGER:-less -R}"
$ ack --passthru pattern files

我喜欢它,因为它默认为递归搜索目录(并且比grep -r更聪明),支持完整的Perl正则表达式(而不是POSIXish regex(3) ),并且在搜索许多文件时具有更好的上下文显示。

链接地址: http://www.djcxy.com/p/3307.html

上一篇: viewing the entire file with highlighted matches

下一篇: jQuery Upload Progress and AJAX file upload