grep - 如何显示使用 find 命令找到并提供给 grep 以匹配字符串的文件的完整路径
问题描述
我在下面的子目录中有很多 config.php 文件,我在其中调用 find 命令,并且我想仅列出找到 grep 字符串匹配的那些的路径名。这是我到目前为止所尝试的。
find `pwd -P` -name config.php -print -exec grep 'assetBasePath.*cloudfront' {} \;
它部分完成了这项工作,因为 find 确实列出了它找到的所有 config.php 文件的路径,如果模式确实匹配一个,则 grep 打印文件中的匹配行。
我想要实现的是与上面类似的输出,但仅显示具有 grep 匹配的文件的路径名。
解决方案
将 移动-print
到右手端,使其由 的结果“选通”exec
:
find `pwd -P` -name config.php -exec grep 'assetBasePath.*cloudfront' {} \; -print
推荐阅读
- java - 添加 Docker 映像后工作流显示错误
- java - 条件查询 - 查找最小值
- .net - 使用具有非共享创建策略的 mef 组合导出值,但未将其指定为属性
- c - Visual Studio 代码 C 外部文件
- salt-stack - saltstack 从 salt://files/ 安装新版本的软件包
- javascript - Next.js — router.push 将页面滚动到顶部,尽管滚动选项设置为 false
- console-application - 如何在控制台应用程序中添加同义词
- javascript - 如何将粘性组件放置在固定(和隐藏)的 vuetify 应用栏下方?
- angular - 在模板驱动的表单中默认选中 Angular 复选框
- jupyter-notebook - nbconvert 失败:__init__() 得到了一个意外的关键字参数“enable_async”