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

时间:2019-05-22 16:46:22

标签: grep

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

我试图在线查看许多示例,但不幸的是,我找不到代码来输出其中带有特定单词的文件名。

grep -r 'Facebook' *

我希望输出的文件名很多,其中包含单词facebook,但是我得到的行输出中包含单词facebook,这不是我想要的。

2 个答案:

答案 0 :(得分:1)

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

  • find / path / to / base -name Facebook
  • ls -R / path / to / base | grep -i "[Ff]acebook"

或者有以您选择的语言编写的程序化方法。添加有关您要做什么的更多详细信息,以获得更好的答案。

答案 1 :(得分:0)

应该是这样的

grep -l "Facebook" *

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

来自grep的手册页:

-L,--files-without-match               抑制正常输出;而是打印每个输入文件的名称,通常不会从该文件中打印输出。扫描将在第一场比赛结束。

-l,--files-with-matches               抑制正常输出;而是打印通常会从中打印输出的每个输入文件的名称。扫描将在第一个匹配项时停止。 (-l是               由POSIX指定。)