【发布时间】:2012-12-20 07:13:35
【问题描述】:
我想在一个目录上运行一个命令来打印该目录中的所有文件,然后grep所有文件递归地查找那些找到的文件名,基本上是检查并查看是否在任何PHP中使用了X文件或HTML 目录中的文件。如果发现 X 文件不在任何文件中,则打印它的名称。
到目前为止我有这个,我不知道如何将我有的东西传递给grep,然后打印那些没有结果的东西。
find . -path ./images -prune -o -name '*' -type f -print | sed 's!.*/!!'
我可以这样使用exec:
find . -path ./images -prune -o -name '*' -type f -exec grep -R '{}' ./* \;
但是我不能 sed 去掉 find 给我的文件名前面的 ./dir/etc/。
令我困惑的查询的另一部分是我无法弄清楚如何获取grep 或找到在grep 中打印没有结果的那些。
【问题讨论】:
-
在您的 exec 示例中,您的搜索目标是什么?
-
尝试使用
find ... | xargs grep -R
标签: command-line grep find