grep 获取文件内容但返回文件名

All*_*owe 3 linux grep

我需要以下任务的 GREP 语法(在 LINUX 操作系统中):

查询 CURRENT 目录中包含 STRING 的所有文件,但只列出包含匹配项的 FILENAMES。

谢谢!

小智 9

您可以使用

grep -rl stringToSearch .
Run Code Online (Sandbox Code Playgroud)

或者

 find . -type f -exec grep -l stringToSearch {} \;
Run Code Online (Sandbox Code Playgroud)

有关grep和其他 unix 命令的更多信息,请参阅手册 ( man)

在那种情况下man grep

-l, --files-with-matches 抑制正常输出;而是打印通常会打印输出的每个输入文件的名称。
扫描将在第一场比赛中停止。

显然,作为 bash 命令,如果您的字符串包含特殊字符或空格,您必须(按顺序)转义它们和/或用配额包围您的字符串