PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php – * nix:使用find命令执行嵌套-exec大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试执行以下操作:搜索所有777目录,然后在这些目录中搜索包含字符串“mail(”)的PHP文件.我的目标是使这一部分的cron-job运行每一个晚上,找到所有包含邮件功能PHP文件,这些邮件功能可能已秘密插入到我们的服务器上.所以,我写了这个命令:
find -type d -perm 777 -exec find {} -name "*.PHP" \; -exec grep "mail(" {} \;

哪个(应该):

1:找到具有777权限的文件

2:对于每个这样的文件夹,找到其中包含的所有PHP文件

3:对于每个这样的文件,执行grep查找字符串“mail”

但是,它似乎没有起作用.它正在做的是给我一个777特权目录中的PHP文件列表,但它没有执行grep.我看过一些像这样的帖子:

find -exec with multiple commands

这让我相信-exec的嵌套是可能的.有什么明显我想念的吗?在此先感谢您的时间!

你不能嵌套查找-exec,但你可以嵌套sh,然后调用find -exec.使用GNU find,您还必须重写内部查找中的{},以便外部查找不会替换它:
find . -type d -perm 777 \
  -exec sh -c 'find "$1" -name "*.PHP" -exec grep "mail(" {""} \;' _ {} \;

这是您问题的最直接答案.有多种简化方法

find . -type d -perm 777 \
  -exec find {} -name '*.PHP' -print0 \; | xargs -0 grep -H 'mail('

更简单的90%版本只会使用grep来递归:

find . -type d -perm 777 -exec grep -HR 'mail(' \; | grep '\.PHP'

大佬总结

以上是大佬教程为你收集整理的php – * nix:使用find命令执行嵌套-exec全部内容,希望文章能够帮你解决php – * nix:使用find命令执行嵌套-exec所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: