2013-04-30 92 views
0

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

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

回答

1

如果你想看看它会删除,删除行rm -rf $filename;

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

UPDATE:这不会删除里面storage任何文件。如果您想查看将删除的内容,请删除行rm -rf $filename;

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

我怎样才能让它列出它现在将删除的文件夹,所以我可以仔细检查,看看这个命令是否工作?我不会将它删除我的整个文件夹/ storage/ – thevoipman 2013-04-30 14:57:46

+0

@ thevoipman-更新回答.. – vidit 2013-04-30 14:58:17

+0

我注意到这会删除我的脚本文件在文件夹/存储文件夹以及...无论如何,我们可以排除几个文件夹/文件名,我们不想被删除? – thevoipman 2013-04-30 15:03:14