如何显示使用 find 命令找到并提供给 grep 以匹配字符串的文件的完整路径

How to show the full path for a file found using the find command and given to grep to match a string

我在调用 find 命令的子目录下有很多 config.php 文件,我只想列出找到 grep 字符串匹配项的路径名。这是我到目前为止尝试过的方法。

find `pwd -P` -name config.php -print -exec grep 'assetBasePath.*cloudfront' {} \;

它部分完成了工作,因为 find 确实列出了它找到的所有 config.php 文件的路径,如果模式确实匹配一个文件,grep 会打印文件中的匹配行。

我想要实现的是与上面类似的输出,但只显示具有 grep 匹配的文件的路径名。

-print移到右端,因此exec的结果是"gated":

find `pwd -P` -name config.php -exec grep 'assetBasePath.*cloudfront' {} \; -print