Shell-Script
刪除超過 500 天的文件
我有一個包含 2010 年文件的目錄。我想刪除所有超過 500 天的文件,我試過這個:
find /var/log/arc/* -type f -mtime +500 -delete {}\;
但我明白了:
-bash: /usr/bin/find: Argument list too long
據我所知,這意味著文件太多而
find
無法處理。但即使我放+2000
了 3 年以上,我仍然得到這個。我在這裡缺少什麼?
您缺少
find
不需要文件列表作為輸入的內容。問題是 glob/var/log/arc/*
擴展到太多文件。但是,find
預設情況下會遞歸到子目錄中,因此根本不需要使用 glob:find /var/log/arc/ -type f -mtime +500 -delete
-delete
是一個非標準謂詞。如果您的find
實現不支持它,您可以使用:find /var/log/arc/ -type f -mtime +500 -exec rm -f {} +
反而。