Bash脚本删除文件夹总大小

Bash脚本删除文件夹总大小,bash,Bash,我希望运行一个bash脚本,几乎可以删除/storage/*中总大小小于5兆的任何文件夹。我面临的问题是/storage/*中的文件夹也有子文件夹。如果少于5兆,我想全部删除。。。到目前为止,我有以下命令,任何类型的进一步帮助,我可以得到完成这个脚本是非常感谢 $ find /storage/ -type f -size -5M -delete 如果您想查看它将删除什么,请删除行rm-rf$filename du -s ./storage/* | while read size filenam

我希望运行一个bash脚本,几乎可以删除
/storage/*
中总大小小于5兆的任何文件夹。我面临的问题是
/storage/*
中的文件夹也有子文件夹。如果少于5兆,我想全部删除。。。到目前为止,我有以下命令,任何类型的进一步帮助,我可以得到完成这个脚本是非常感谢

$ find /storage/ -type f -size -5M -delete

如果您想查看它将删除什么,请删除行
rm-rf$filename

du -s ./storage/* | while read size filename; do if [ $size -lt 5120 ]; then echo "Deleting $filename"; rm -rf $filename; fi; done
更新:这不会删除
存储器中的任何文件。如果您想查看它将删除什么,请删除行
rm-rf$filename

du -s ./storage/*/ | while read size filename; do if [ $size -lt 5120 ]; then echo "Deleting $filename"; rm -rf "$filename"; fi; done

我怎样才能让它列出它现在要删除的文件夹,这样我就可以仔细检查这个命令是否有效?我不想删除/storage/下面的整个文件夹,我注意到这也会删除文件夹/storage文件夹中的脚本文件。。。无论如何,我们可以排除一些不希望删除的文件夹/文件名?如果您使用
/storage/*/
作为通配符,这将只拾取文件夹,您可以避免
&&&[-d$filename]
测试。(如果你要在上面运行
rm-rf
,你应该正确地引用
$filename
)@bobbogo-我还在学习,而且我总是忘记引用。更新!非常感谢您,我一直在测试,但它似乎一直在删除子目录中包含.sh.php的任何文件,我们是否可以消除这种情况?