如何在文件中搜索单词,同时显示整个文件以及找到的单词?

use*_*658 2 command-line bash grep

我正在使用 Ubuntu 16.04。

我想搜索某个词,但我也希望在终端上输出包含该词的整个文件,以便我可以看到该词在文件中的位置。但是,当我使用 时grep,它只会显示包含该单词的特定句子,而不是整个文件。

我可以使用什么命令来搜索一个单词,同时还可以显示整个文件以及该单词所在的位置?

Rav*_*ina 8

有了grep你可以使用:

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

或以简化形式:

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

从技术上讲,这也可以:

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

甚至:grep -E 'pattern|' file。它表示带有pattern或根本没有图案的线条。所以一切都会匹配。

我已经grep别名为grep --color=always,所以如果你不这样做,你必须自己传递颜色选项。


less

$ less -p 'pattern' file
Run Code Online (Sandbox Code Playgroud)

所以文件会以较少的方式弹出,所需的术语将被突出显示,您可以使用nshift+n在匹配之间跳转。