我如何在其文件内容中找到包含一个特定的文本序列的所有文件?

下一个不起作用. 它似乎显示系统中的每个单一文件。

find / -type f -exec grep -H 'text-to-find-here' {} \;

当前回答

使用:

grep -c Your_Pattern *

这将报告您的模式在当前目录中的每个文件中有多少副本。

其他回答

grep "text-to-find-here" file_name

grep "text-to-find-here" directory_path/*

如果你想搜索当前的目录:

grep "text-to-find-here" *

格雷普是你的好朋友来实现这一点。

grep -r <text_fo_find> <directory>

如果你不在乎要找到文本的案例,那么使用:

grep -ir <text_to_find> <directory>

我认为值得提到你如何找到:

所有包含至少一个文本的文件,其中包括大量的文本:

grep -rlf ../patternsFile.txt .

出口:

./file1  
./file2
./file4

上述,由每个文本组成:

cat ../patternsFile.txt | xargs -I{} sh -c "echo {}; grep -rl \"{}\" ."

出口:

pattern1
./file1  
./file2
pattern2
./file1  
./file4
pattern3
./file1  
./file2
./file4

请注意,为了不匹配模式File.txt本身,您需要添加一个目录(如上面的示例所示)。

所有以前的答案都建议抓住和找到,但还有另一种方式:使用中夜指挥官

它是一个免费的工具(30年,时间证明),它是视觉的没有GUI. 它有许多功能,找到文件只是其中之一。

使用:

grep -c Your_Pattern *

这将报告您的模式在当前目录中的每个文件中有多少副本。