📜  grep 显示匹配之间的行 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:01:04.380000             🧑  作者: Mango

Grep 显示匹配之间的行 - Shell-Bash

grep 是一个强大的 Unix/Linux 工具,可以搜索文件中的文本,同时可以在命令行中模式匹配搜索。

grep 中,我们可以使用 -A-B-C 选项来显示匹配之前,之后或周围的行。这些选项与搜索模式结合起来,可以用于在文本文件中快速查找有用的信息。

显示匹配之前的行

要显示与搜索模式匹配的行前面的行,可以使用 -B 选项。

grep -B [num] [pattern] [filename]

其中 [num] 代表要显示匹配行前面的行数,[pattern] 表示要搜索的模式,[filename] 则代表要搜索的文件名。

举个例子,我们可以搜索 file.txt 文件,查找包含字符串 hello 的行,以及 hello 的前 2 行。

grep -B 2 'hello' file.txt

上述命令将显示匹配 hello 的行以及它的前两行。如果想要显示所有匹配的行的前 2 行,可以使用 -A 选项来显示。

显示匹配之后的行

要显示与搜索模式匹配的行后面的行,可以使用 -A 选项。

grep -A [num] [pattern] [filename]

其中 [num] 代表要显示匹配行后面的行数,[pattern] 表示要搜索的模式,[filename] 则代表要搜索的文件名。

举个例子,我们可以搜索 file.txt 文件,查找包含字符串 world 的行,以及 world 的后 2 行。

grep -A 2 'world' file.txt

上述命令将显示匹配 world 的行以及它的后两行。如果想要同时显示前后匹配的行,可以使用 -C 选项来同时显示。

显示匹配前后的行

要同时显示与搜索模式匹配的行前后的行,可以使用 -C 选项。

grep -C [num] [pattern] [filename]

其中 [num] 代表要同时显示匹配行前后的行数,[pattern] 表示要搜索的模式,[filename] 则代表要搜索的文件名。

举个例子,我们可以搜索 file.txt 文件,查找包含字符串 helloworld 的行,并同时显示它们周围的两行。

grep -C 2 'hello\|world' file.txt

上述命令将显示同时匹配 helloworld 的行以及匹配行的前后两行。如果想要显示更多或更少的行,只需要更改 [num] 的值即可。

以上就是关于 grep 显示匹配之间的行的介绍。这些选项可以帮助程序员加快在大型文本文件中查找信息的速度,提高工作效率。