2013-04-14 85 views
2

我正試圖刪除特定大小的特定目錄中的所有文件,本例中爲39位。我知道下面的代碼會刪除所有0位的文件。用Cron作業按大小刪除文件夾內的文件

find /home/.../...* -size 0 -type f -exec rm -f '{}' \; 

那麼,我需要做些什麼才能使它適用於39位文件?下面的cron不起作用。

find /home/.../...* -size 39 -type f -exec rm -f '{}' \; 

回答

1

是否有任何理由使用rm而不是find自己的delete primary?

find /home/.../...* -size 39c -type f -delete 

爲什麼它不雖然它的工作的大小主要採取的關鍵是參數爲數字的512K塊和舍入文件大小,以滿足這一點,所以39實際上意味着14337之間的文件大小19,968字節。要指定大小以字節匹配,您需要添加一個後綴c(用於字符)。

如果您必須使用rm,然後用+而不是\;結束命令會更有效,因爲它將批量匹配文件名(如使用xargs)以減少調用rm所需的次數。