rm 不删除目录

rm 不删除目录

遇到一个奇怪的问题。使用脚本遍历我们的备份文件夹并删除任何未以每月 1 日(2023-05-01)命名且超过 60 天的文件夹。

它的工作原理是,它正在检查并删除文件夹中的文件,但日期文件夹本身(和子文件夹)仍然是空的。

我在这里遗漏了什么。

find /backups/stores/ -maxdepth 2 -type d ! -name '????-??-01' -mtime +60 -exec rm -rf {} \;

答案1

不完全确定,但这可能是“排序”的效果吗?

请注意文件夹出现的顺序...

$ 查找 /etc/d* -type d -printf "%p\n"

...以及添加“sort -r”(反向排序)的效果......

$ find /etc/d* -type d -printf "%p\n" | sort -r

为了避免这样的麻烦,可以尝试

$(cd /etc/dconf/&& 查找。-mindepth 1-maxdepth 1-type d-printf“%p \ n”)

即使用子任务,首先进入cd“工作文件夹”,然后允许使用稍微更直接的寻址来对实际文件夹进行操作。

相关内容