php – * nix:使用find命令执行嵌套-exec
发布时间:2020-05-31 00:55:26 所属栏目:PHP 来源:互联网
导读:我正在尝试执行以下操作:搜索所有777目录,然后在这些目录中搜索包含字符串“mail(”)的php文件.我的目标是使这一部分的cron-job运行每一个晚上,找到所有包含邮件功能的php文件,这些邮件功能可能已秘密插入到我们的服务器上.所以,我写了这个命令: find -type
|
我正在尝试执行以下操作:搜索所有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' (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
