有没有可能find在Linux中包含特定文本的文件?

考虑这种情况下,我有一个文件夹下的许多文件“示例”。如果我需要find一个文件,其中包含一个特定的短语,如“类示例”,我该怎么做与Linuxshell

有没有像linux中的“定位”function来做到这一点?

谢谢,

巴兰

Solutions Collecting From Web of "有没有可能find在Linux中包含特定文本的文件?"

使用好的“ grep

 grep -R "Class Example" Example 

其中"Class Example"是搜索字符串, Example是目录, -R指定递归搜索。

你可以尝试这样的事情:

 find Example | xargs grep 'Class Example' 

你可以使用egrep“text1 | text2”*或者使用grep来完成这个任务,而且cscope也是一个很好的搜索和编辑工具。

如果你想要一个gui,和/或快速的结果,Beagle是一个很好的解决方案,我使用。 比格尔主页。

包含给定文本的文件名称列表

您可以使用findgrep的组合来查找包含以下文本的文件名列表。

 find /<path>/Example -name "*" -exec grep -l "Class Example" {} \; 

即使你不使用“Class”和“class”等情况,也可以使用-i开关忽略大小写。 另外,如果您知道文件扩展名,则可以将其添加到-name属性。 你可以在这里阅读更多的细节。