我可以执行什么命令来检查文件夹内的目录,如果目录的总大小小于 30MB,则删除它?我尝试使用该find
命令根据大小移动文件,但它没有正常工作。
我正在使用(1mb):
find . -size +102400k -exec mv DIRECTORY
find . -size -102400k -exec mv DIRECTORY
答案1
如果我们谈论的是目录尺寸,我不确定find
是否会有帮助。du
在某些时候必须要参与其中。
下面是我编写的用于查找 30M 以下目录附近的内容:
du --max-depth 1 | awk -v q='"' '$1 < 30000000 && $2 != "." {sub(/^[0-9\t ]+/, "", $0); print q $0 q}'
然后你可以将其链接到xargs rm -rf
但我会测试它非常认真在执行此操作之前。您可能希望移动目录(使用mv
),而不是直接删除它们。
答案2
Find 不知道目录的总大小。因此该方法行不通。
您可以找到所有目录,并执行使用 du 的脚本来查看它们是否小于 1MB。