如何在 Linux 上递归搜索所有文件中的字符串


grep 命令用于搜索文本或扫描给定的记录,以查找包含与给定字符串或单词相匹配的行的行。使用 grep 搜索与一个或多个正则表达式匹配的文本行,并且仅输出匹配的行。使用 grep 命令,我们可以在 Linux 上递归搜索所有文件中的字符串。

语法如下所示-

$ grep -r "word"

例如,要在 Downloads 目录中搜索 “Linux” 这个词。命令应该像这样

~/Downloads$ grep -r "Linux"

示例输出应该如下所示 –

zookeeper_installation.htm:<li><p><b>Any of Linux OS</b> − Supports development and deployment. It is preferred for demo applications.</p></li>
Linux Howtos.html:1. How to add a New Disk Drive to a Linux System?
Linux Howtos.html:http://www.yolinux.com/TUTORIALS/LinuxTutorialAdditionalHardDrive.html
Linux Howtos.html:2. How to create a new virtual disk for an existing Linux virtual machine?
Linux Howtos.html:4. How to Increase the size of a Linux LVM by adding a new disk
Linux Howtos.html:5. How to format a Linux Hard Disk?
Linux Howtos.html:6. How to partition and format a new drive in Linux System?
Linux Howtos.html:7. How to mount NTFS Drives on a Linux System?

若要忽略大小写区别,请使用以下命令 –

$ grep -ri "linux" .

示例输出应该如下所示 –

zookeeper_installation.htm:<li><p><b>Any of Linux OS</b> − Supports development and deployment. It is preferred for demo applications.</p></li>
zookeeper_installation.htm:<p>The latest version (while writing this tutorial) is JDK 8u 60 and the file is “jdk-8u60-linuxx64.tar.gz”. Please download the file on your machine.</p>
zookeeper_installation.htm:$ tar -zxf jdk-8u60-linux-x64.gz

若要仅使用 GNU grep 显示打印文件名,请使用以下命令 –

$grep -r -l "linux"

您还可以使用以下命令指定目录名称 –

$ grep -r -l "linux" /path/to/dir/*.c

恭喜!现在,您知道“如何在 Linux 上递归搜索所有文件中的字符串”。我们会在下一篇 Linux 文章中了解更多关于这些类型的命令。请继续阅读!

更新于: 20-Jan-2020

13K+ 阅读量

启动您的 职业

通过完成课程获得认证

开始
广告