Grep 查找具有特定文本的一个或多个文件的名称。此命令可以搜索目录和所有子目录以查找所有匹配项

Grep 查找具有特定文本的一个或多个文件的名称。此命令可以搜索目录和所有子目录以查找所有匹配项,grep,Grep,试图通过搜索文件中的单词来查找文件名 我曾尝试在网上查看许多示例,但不幸的是,我找不到一个代码来输出包含该单词的文件名 grep -r 'Facebook' * 我希望输出的是许多文件名,其中包含facebook一词,但我得到的却是带有facebook一词的行的输出,这不是我想要的。在Unix/Linux环境中有许多可能的解决方案: 查找/path/to/base-命名Facebook ls-R/path/to/base | grep-i[Ff]acebook 等等 或者有一些编程方法是用您选

试图通过搜索文件中的单词来查找文件名

我曾尝试在网上查看许多示例,但不幸的是,我找不到一个代码来输出包含该单词的文件名

grep -r 'Facebook' *

我希望输出的是许多文件名,其中包含facebook一词,但我得到的却是带有facebook一词的行的输出,这不是我想要的。

在Unix/Linux环境中有许多可能的解决方案:

查找/path/to/base-命名Facebook ls-R/path/to/base | grep-i[Ff]acebook 等等


或者有一些编程方法是用您选择的语言编写的。为获得更好的答案,请添加更多关于您正在尝试做什么的详细信息。

应该是这样的

grep -l "Facebook" *
这将搜索当前文件夹中的所有文件而不是子目录,并生成找到匹配项的文件名

从grep的手册页:

-五十、 -不匹配的文件 抑制正常输出;而是打印通常不会打印输出的每个输入文件的名称。扫描将在第一次匹配时停止

-l、 -具有匹配项的文件 抑制正常输出;而是打印输出通常来自的每个输入文件的名称。扫描将在第一次匹配时停止-我是
由POSIX指定。

如果这是op想要的,*[Ff]acebook*将是一个更好的模式。@sjsam:很好。我本来很懒,因为OP没有提供一个明确的指示。这个问题没有明确设置预期的输出。我要求澄清。但是,从字里行间看,我希望这就是op想要的。Facebook应该在文件名中还是在文件中?