Linux中查找包含特定文本的文件
时间:2020-02-23 14:39:35 来源:igfitidea点击:
在本教程中,我们将看到如何查找包含特定文本的文件。
问题
我们想在目录中的所有文件中搜索任何特定文本。
解决方案
Linux或者UNIX服务器上有很多和许多文件。
我们可以使用find命令找到并找到文件,但无法查看特定文本的文本文件。
我们可以使用grep命令。
grep命令搜索给定输入包含指定文本的行的输入文件。
1.在当前目录中搜索文本"https://www.google.com"
grep -s “text to be searched" *
举例:
$grep -s “https://www.google.com" * site.txt:https://www.google.com is awesome search engine
2.在当前目录和所有子目录中搜索文本"https://www.google.com"
grep -r “https://www.google.com" *
3.在当前目录中搜索文本"https://www.google.com",所有子目录和显示匹配的颜色文本
grep -r -color “https://www.google.com" *
4.在/opt目录中搜索文本"https://www.google.com"并显示文件名
默认情况下,Grep打印文件中包含文件中的文本的文件名和行。
如果我们只想显示文件名,可以使用以下命令。
grep -r “https://www.google.com" /opt/*| cut -d: -f1
5.隐藏警告垃圾邮件
默认情况下,Grep打印文件中包含文件中的文本的文件名和行。
如果我们只想显示文件名,可以在Grep命令下面使用Grep Command产生许多错误消息,因为诸如此类的权限问题
没有这样的文件或者目录没有这样的设备或者地址权限拒绝
有时,我们会获得很多错误,即很难找到实际文件。
要隐藏所有错误或者警告消息,请添加2>/dev/null到grep命令。
这将发送和隐藏不需要的外容/dev/null。
grep -r “https://www.google.com" /opt/* 2>/dev/null
6.搜索文本时忽略案例
如果要做不敏感的搜索,请使用grep使用-i选项。
grep -r -i “https://www.google.com" *