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

问题描述

我在下面的子目录中有很多 config.php 文件,我在其中调用 find 命令,并且我想仅列出找到 grep 字符串匹配的那些的路径名。这是我到目前为止所尝试的。

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

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

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

标签: grepfindpathname

解决方案


将 移动-print到右手端,使其由 的结果“选通”exec

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

推荐阅读