
最近在我們的文件伺服器上掃描臨時文件〜$附加到名稱開頭產生了近 1,000 個結果。
這些文件的「上次修改」日期可以追溯到 2003 年(因此它們現在通常都是多餘的,可以安全刪除)。
我需要一個腳本來識別並刪除以“~$”開頭的任何文件,然後我可以安排該腳本在伺服器上每週運行一次,以經常自動清除這些臨時文件。
答案1
對於特定目錄,這將遞歸刪除名稱以 ~$ 開頭的所有檔案:
find /path/to/directory -type f -name '~$*' -exec rm '{}' \;
若要僅將其限制在該特定目錄而非其子目錄下,請使用 maxdepth:
find /path/to/directory -maxdepth 1 -type f -name '~$*' -exec rm '{}' \;
-maxdepth
根據要搜尋檔案的目標目錄層級將積分參數變更為。
另一種更簡單的方法是使用 glob,但這並不是一個好主意,因為它會嘗試接觸與模式相符的目錄。它仍然不會刪除它們,但您必須注意錯誤訊息。您可以使用-f
選項或將錯誤輸出發送到,/dev/null
但對於方法來說它已經很髒了:
rm '/path/to/directory/~$'*