本文介绍了突出显示类似于grep的文本,但不要过滤掉文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当使用grep时,它会突出显示与正则表达式匹配的行中的任何文本。

When using grep, it will highlight any text in a line with a match to your regular expression.

如果我想要这样的行为,但是会打印出grep所有线路以及?在通过grep手册页快速浏览后,我空了。

What if I want this behaviour, but have grep print out all lines as well? I came up empty after a quick look through the grep man page.

推荐答案

使用ack。在此检出 - passthru 选项:。它具有允许完整的perl正则表达式的附加好处。

Use ack. Checkout its --passthru option here: ack. It has the added benefit of allowing full perl regular expressions.

$ ack --passthru 'pattern1' file_name

$ command_here | ack --passthru 'pattern1'

你也可以这样使用grep:

You can also do it using grep like this:

$ grep --color -E '^|pattern1|pattern2' file_name

$ command_here | grep --color -E '^|pattern1|pattern2'

这将匹配所有行并突出显示图案。 ^ 匹配每一行的开头,但不会被打印/突出显示,因为它不是一个字符。

This will match all lines and highlight the patterns. The ^ matches every start of line, but won't get printed/highlighted since it's not a character.

(请注意,大多数设置将默认使用--color,您可能不需要该标志)。

(Note that most of the setups will use --color by default. You may not need that flag).

这篇关于突出显示类似于grep的文本,但不要过滤掉文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-02 12:42