2013-04-30 47 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