如何使用查找文件中的文本 Linux grep 命令?

Grep(全局正则表达式打印) 是一个强大的 Unix/Linux 网络管理员、网络工程师等常用的命令行工具,用于搜索日志文件中的字符串模式。 在本文中,我们将展示使用 grep 命令搜索和过滤文件中的字符串模式的不同方法 Ubuntu 22.04 LTS。

要求

为了理解这篇文章,我们需要

  • 系统与 Ubuntu 22.04 安装了 LTS。
  • 命令行使用的基本知识。

grep 命令是什么?

格雷普 是一个 Unix/Linux 用于搜索和过滤文件或流等中的字符串模式的命令行工具。grep 在搜索大型日志文件和流时非常有用。

如何使用 grep 命令查找/搜索文件中的文本?

我们将讨论使用以下方法过滤字符串模式的各种方法 Linux 以下部分中的 grep 命令:

如何在文件中查找/搜索字符串模式?

如果我们想在文件中搜索字符串模式,我们可以使用以下语法:

$ grep <细绳> 文件

我们可以用所需的模式替换字符串,并在语法中指定文件名或文件路径。 例如,以下命令过滤掉samplefile1.txt中的拥塞字符串模式:

$ grep 超载下载/示例文件1.txt

从上图可以看出grep命令返回了想要的字符串模式,如: B. 通过突出显示所有出现的情况来过滤掉“过载”。 同样,如果我们想按文件名搜索,我们可以导航到特定目录。 A example 如下:

$ 光盘 下载

现在我们已经导航到包含“samplefile1”的目录,我们可以使用以下命令搜索“Congestion”:

$ grep 重载samplefile1.txt

此外,如果我们想搜索多个单词,我们可以将它们用双引号引起来,例如 B、“”。 例如,如果我们想检查samplefile1.txt中的“网络拥塞”,我们运行以下命令:

$ grep “网络拥塞” 示例文件1.txt

从上面的输出中,我们可以看到文件中包含字符串“Network Congestion”的所有行都将被过滤掉。

如何在多个文件中查找/搜索字符串模式?

我们可以使用以下语法在多个文件中搜索字符串模式:

$ grep <细绳> 文件1 文件2 文件3

较低的 example 显示字符串“Congestion”在三个文件(即 Samplefile1、Samplefile2 和 Samplefile3)中的出现情况:

$ grep 重载 Samplefile1.txt Samplefile2.txt Samplefile3.txt

从上图中,我们可以看到所选三个文件中所有出现字符串“Congestion”的地方都突出显示。

如何在子目录中查找/搜索字符串模式?

我们可以通过添加“-r”标志并后跟要搜索的字符串来在所有子目录中搜索字符串模式:

$ grep -rw 交通阻塞 *

从上图中,我们可以看到所有子目录中出现的字符串都突出显示。 添加了另一个“-w”标志来查找世界各地的事件。

如何仅在文件中查找整个单词?

要查找整个单词,我们可以在 grep 命令中使用“-w”标志:

$ grep -w 交通阻塞 *

从上图可以看出grep已经高亮了所有出现的搜索字符串,即重载。

如何在 Grep 搜索中忽略大小写?

默认情况下,Grep 搜索区分大小写。 如果我们想搜索一个字符串并忽略大小写,我们可以通过添加“-i”标志进行搜索,后跟要搜索的字符串:

$ grep -我 交通阻塞 *

上图显示了所有出现的“过载”字符串,无论大小写。

如何识别与我要查找的字符串完全匹配的行?

grep 命令通过添加“-x”标志来搜索与字符串模式完全匹配的整行。 A example 在文件中搜索字符串“Network Congestion”如下所示:

$ grep “网络拥塞” *

$ grep -X “网络拥塞” *

在上图中,我们可以看到,当我们搜索“网络拥塞”时,我们发现很少有匹配项。 但是,当我们使用 -x 标志检查全行匹配时,文件中没有匹配项。

如何列出包含搜索字符串的匹配文件的名称?

grep 允许您搜索包含特定字符串模式的文件。 A example 如下:

$ grep -l 吞吐量 *

从上图中,我们可以看到“samplefile1.txt”和“samplefile2.txt”包含字符串“throughput”。

比赛场数

grep 命令可用于计算文件中匹配项的数量。 较低的 example 显示目录中字符串“network”出现的次数:

$ grep -C 网络 *

从上图中,我们可以看到“network”一词在“samplefile1.txt”、“samplefile2.txt”和“samplefile3.txt”中分别出现了11次、23次和11次。

文凭

这 Linux grep 命令广泛用于搜索和过滤一个文件、多个文件、子目录等中的字符串模式 example、搜索部分单词、整个单词、精确匹配字符串、区分大小写搜索等。此外,grep 命令还可以过滤掉包含特定字符串模式的所有文件,并统计某个字符串在文件中出现的次数。 本文讨论了使用 grep 命令在文件中搜索字符串模式的各种方法。