拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 如何在 Debian 10 上使用 grep 命令

如何在 Debian 10 上使用 grep 命令

白鹭 - 2022-01-08 1958 0 0

Grep 代表全局正则表达式打印。这是一个有用的命令,被 Linux 系统工程师广泛使用,在使用常规文件和系统中搜索字符串或模式时。

在本文中,TipsMake.com 将向您展示如何使用 grep 命令(包括许多示例)。

注意:本文在运行 Debian 10 的机器上测试了所有命令和示例。

你知道如何使用 grep 吗?

  1. 先决条件
  2. 在 Debian 10 上安装 grep
  3. 使用 grep 命令
    1. 在系统中搜索特定文件或目录
    2. 使用 grep 搜索完整的单词
    3. 在文件中搜索特定的一段文本
    4. 在多个文件中进行搜索
    5. 使用一个 grep 命令搜索两个不同的单词
    6. 为适合文本的行编号
    7. 反向搜索
    8. 计数匹配
    9. 显示匹配特定文本的文件名
    10. 只显示匹配的文本
    11. 显示以特定单词开头的行
    12. 显示以特定单词结尾的行

先决条件

您需要一台运行 Debian 10 且具有 root 访问权限的计算机。

在 Debian 10 上安装 grep

默认情况下,grep 已安装在包括 Debian 10 在内的大多数系统上。如果尚未安装,请打开终端并以 root 身份发出以下命令.

 apt-get install grep 

当您被要求确认时,按Y,然后从键盘输入。等待安装过程完成。

通过在终端中运行以下命令检查 grep 的版本。

 grep--version 

该命令将返回版本以及其他详细信息,如下所示。

<图> 如何在Debian 10上使用grep命令的图片1
该命令将返回版本以及其他详细信息

使用 grep 命令

在系统中搜索特定文件或目录

当你想在你的系统中搜索或定位一个特定的文件时,命令的语法如下。

 ls-l <đường dẫn của thư mục muốn tìm kiếm> | grep-i 'tên file hoặc thư mục' 

如果包含空格,需要将要查找的单词用引号引起来。假设您正在寻找 'network daemon' ,该命令将如下所示。

 ls-l/etc/network/| grep-i '接口守护进程' 

用 grep 搜索一个完整的单词

你可能会注意到,grep 已经返回了各种带有 'network' 字样的结果,例如 networks、networked 、networking 或 abcnetworking 等。如果您想限制搜索以包含特定的单词如果是这样,您必须使用 -w 选项,如下所示。

 ls-l/etc/| grep-i-w 网络 

在文件中搜索特定的一段文本

假设你有一个大文件,你想搜索一段特定的文本。该命令的语法如下。

 grep – i 'văn bản bạn muốn tìm kiếm' 'tên file và đường dẫn' 

在多个文件中进行搜索

如果你想从一个大目录中的大量文件和子文件夹中搜索一个文档,你可以使用-r选项来做到这一点

 grep-i-r "fox" 

这是一个示例输出,显示了 test.txttree 中包含的单词 'fox'。 txt

<图> 如何在Debian 10上使用grep命令的图2
在 test.txt 和 tree.txt 中都可以找到“狐狸”这个词

你也可以证明ide 一个目录路径,它将搜索该目录及其子文件夹中的所有文件。

假设您要在 /etc/ 及其子文件夹中查找 'interfaces'。命令应该如下。

 grep-i-r interfaces/etc/ 

这里是示例输出:

<图> Debian 10如何使用grep命令的图3
在多个文件中进行搜索

用一个 grep 命令搜索两个不同的词

您可以使用 egrep 命令(grep 的变体)搜索两个不同的单词,如下所示。假设您要使用 -r 选项 在多个文件中搜索 foxlazy words 您必须在终端上运行以下命令。

 egrep-w-r "fox|lazy" 

这里是示例输出:

<图> Debian 10如何使用grep命令的图4
用一个 grep 命令搜索两个不同的词

为适合文本的行编号

另一个有用的选项是-n 文本行编号。以下是说明如何使用 -n 选项 .

的示例
 grep-i-n "fox" test.txt 

以下是匹配单词 'fox' 的行编号的示例输出。

<图> Debian 10如何使用grep命令的图5
为适合文本的行编号

反向搜索

这与我们上面所做的相反。如果要返回不包含指定单词的文本,可以使用 -v 选项 .

下面是一个例子,说明-v选项的使用。

 grep-v-i "fox" test.txt 

这里是示例输出:

<图> Debian 10如何使用grep命令的图6
反向搜索

上述所有选项(-n 等)也可以通过 -v 选项应用 .

计数匹配

如果要统计匹配特定文本的结果数,可以使用-c选项

统计当前目录中test.txt中的'fox'这个词。在终端中运行以下命令:

 grep-i-c fox test.txt 

下面是执行上述命令后的样例输出,显示'fox'这个词在test.txt中出现了3次 文件 .

<图> Debian 10如何使用grep命令的图7
计数匹配

显示与特定文本匹配的文件名

如果你想找到包含你特定单词的文件,你可以使用 -l 选项和 -r 如下.

假设所有文件都位于当前目录,并且您要查找的特定单词是'fox'。

 grep-i-r-l fox 

这是一个示例输出,显示 'fox' 出现在 test.txt 以及子目录和 asif.txt 文件:

显示匹配特定文本的文件名

<图> Debian 10如何使用grep命令的图8
显示匹配特定文本的文件名

只显示匹配的文本

默认情况下,grep 会显示与您想要的文本或单词匹配的整行。如果希望 grep 显示匹配的单词,可以使用 -o 选项,如下所示。

 grep-i-o fox test.txt 

这是一个示例输出。

<图> Debian 10如何使用grep命令的图9
只显示匹配的文本

显示以特定单词开头的行

如果要检索以特定单词开头的所有行,可以使用 ^ 运算符,如下所示。

假设你想返回所有以'unix'开头的行并且文件是log.txt位于当前目录。

在终端运行以下命令:

 grep-i "^unix" log.txt 

这里是示例输出:

<图> Debian 10如何使用grep命令的图10
显示以特定单词开头的行

显示以特定单词结尾的行

如果要返回以特定单词结尾的文件中的所有行,可以使用 $ 运算符,如下所示。

假设单词是'linux',你要搜索的文件是rev.txt,位于当前目录。

运行以下命令:

 grep-i "linux$" rev.txt 

这里是示例输出:

<图> Debian 10如何使用grep命令的图11
显示以特定单词结尾的行
标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *