在 Linux 中搜索文件中的文本并仅显示文件名

在 Linux 中搜索文件中的文本并仅显示文件名

我在用

find some_dir -name "*.some_ext" | xargs -l10 grep "some_expr"

在文件夹中查找文件,但我只想显示文件名而不是所有文件内容。有什么解决办法吗?

答案1

grep -l(小写字母 L)

另外,我建议:

find some_dir -name "*.some_ext" -print0 | xargs -0 -l 10 grep -l "some_expr"

那只是因为我对文件名很挑剔。如果你要使用 grep 的输出发送到另一个程序,你可以使用grep -lZ | xargs -0 some_command

答案2

您可以单独使用 grep 来完成此操作:

grep -Rl --include=*.some_ext "some_expr" some_dir

其中 R 后面的字母是小写的 L。

相关内容