图案高亮命令

Kir*_*ira 2 command-line grep highlighting

伙计们,我想知道是否存在只突出显示输入文本的某些部分的命令,而不是像grep这样过滤它。

举个例子,假设以下输入文本:

foo bar
gaz das
xar
Run Code Online (Sandbox Code Playgroud)

grep "bar\|gaz" input将打印前两行,突出显示bargaz,但不会显示xar

我知道我可以简单地为-C参数设置一个大常量,因此它会“始终”显示上下文,例如: grep -C1000 "bar\|gaz" input,但我不确定这是否有效,或者是否有更好的工具。

Ija*_*han 5

用:

  egrep --color 'pattern|$' file
Run Code Online (Sandbox Code Playgroud)

或者如果你想使用 grep

  grep --color -E 'pattern|$' file
Run Code Online (Sandbox Code Playgroud)

"pattern|$" 将匹配具有您正在搜索的模式的行和具有结尾的行 - 即所有这些行。因为一行的结尾实际上不是任何字符,所以输出的彩色部分将只是您的模式