【发布时间】:2015-08-10 19:39:22
【问题描述】:
我一直在寻找很长一段时间,但还没有找到解决这个问题的方法。我有以下文件夹结构:
/root/website1/file1.asp
/root/website2/file2.txt
我想在 /root/ 下的所有文件夹(可以是多个级别)中搜索不超过 180 天且在文件中包含特定字符串的文件。如果文件包含字符串,则应删除它的父文件夹(以及文件本身)。如果 file2.txt 包含字符串,那么 /root/website2 应该被删除。
我已经做到了这一点 - 但我非常坚持将 dirname {} 传递给文件夹上的“rm -rf”命令。
找到 . -name '*asp' -mtime -180 | xargs grep -l '字符串' | xargs -I{} 目录名 {} | rm -rf
此外,如果在找到包含该字符串的第一个文件后搜索将移动到下一个文件夹,而不是继续在同一文件夹中搜索,那将是理想的。 (即只需返回然后删除唯一文件夹,因为文件夹中可能有许多匹配的文件)。最后,如果我可以遍历输入文件中的字符串列表以进行搜索,那就太好了。
基本上,我正在清理 Web 服务器上的大量注入文件。
非常感谢!
【问题讨论】: