“find”指令的記憶體使用率很高

“find”指令的記憶體使用率很高

當在一個非常大的目錄上運行find命令時,我發現find記憶體的使用量比我想像的要多得多。由於過度使用“查找”一詞,我發現很難搜尋解決方案;)這是命令:

find /var/dir -size +500k -iname "pattern_*" -mtime +90 -type f -exec rm {} \; -print

find 在處理某個目錄時是否將其整個檔案清單保留在記憶體中?看起來它可以只檢查一個條目並繼續前進。我正在處理的目錄中有大約 200 萬個文件,我現在開始遇到記憶體限制問題。

有什麼方法find可以減少記憶體使用嗎?有沒有表現更好的替代方案?我只需要刪除該目錄中滿足幾個條件的文件,然後列印它們。 (我最後的解決方案是我只需編寫自己的程式來透過串流傳輸結果來執行我需要的操作ls...)

相關內容