如何使用grep在linux上只显示文件名(无在线匹配)?

我如何使用grep在Linux上只显示文件名(无在线匹配)?

我通常使用类似:

find . -iname "*php" -exec grep -H myString {} \;

我怎么才能得到文件名(带路径),但没有匹配项?我必须使用xargs吗?没有看到一个办法在我的grep手册页。

最佳答案
标准选项grep -l(即小写L)可以做到这一点。

unix standard

-l
    (The letter ell.) Write only the names of files containing selected
    lines to standard output. Pathnames are written once per file searched.
    If the standard input is searched, a pathname of (standard input) will
    be written, in the POSIX locale. In other locales, standard input may be
    replaced by something more appropriate in those locales.

在这种情况下,你也不需要-H。

转载注明原文:如何使用grep在linux上只显示文件名(无在线匹配)? - 代码日志