2016-09-14 65 views
-5

我需要刪除一個文件夾中沒有大文件(wc大約是2392934)。該文件夾包含2016 我要刪除2015年僅一年的文件的文件2015年&年和我已經創建了下面的腳本: -需要刪除大的沒有文件

echo 'going to gived path' 
cd /usr/local/nagios/var/spool/xidpe/ 
pwd 
b=$(ls -lrt | grep '2015' | awk '{print $9}') 
echo 'listen tail outcome' 
echo 'going to del' 
rm -rf $b 
exit 

,但它給錯誤: - ./test.sh: line 10: /bin/rm: Argument list too long

我已經試過xargs也:b=$(ls -lrt | xargs '2016' | awk '{print $9}')

給出錯誤: - xargs: 2016: No such file or directory

是否有需要我的腳本或其他任何方式來刪除這些文件(僅適用於2015年)做任何更改。

+0

是在文件名標識莫名其妙的一年,或只在時間戳? – Joni

回答

0

如果年份出現在文件名:

find /usr/local/nagios/var/spool/xidpe/ -type f -name '*2015*' -delete

之前立即卸下前一年創建的文件:

find /usr/local/nagios/var/spool/xidpe/ -type f -ctime +365 -delete

+0

這個命令沒有給出任何輸出。執行此命令後只顯示空白屏幕。甚至從根登錄。 –

+0

這正是它的工作原理:它刪除所有具有該模式的文件,並且什麼也沒說。 如果您想提前查看文件列表,請先運行它,而不使用「-delete」。 –