Shell
如何刪除所有子目錄中具有給定名稱的所有文件?
我想刪除我的主目錄的所有子目錄中具有給定名稱的所有文件。
我試過:
rm -r file
在我的主目錄中,但它不起作用,因為該目錄中不存在該文件。
find . -name "filename" -delete
作為對@tante 答案的詳細說明,您可能希望在刪除這些文件之前確保使用的文件列表是正確的:
find <source_dir> -name <filename> -print
如果檢查顯示有效列表,則
find <source_dir> -name <filename> -delete
如果希望使用臨時保存目錄在許多目錄中使用此選項,則另一種選擇:
mkdir <dest_dir> for i in <list_of_directories> do find "$i" -name <filename> -exec /bin/mv {} <dest_dir> done # check dest_dir ls dest_dir rm -rf <dest_dir>
與往常一樣,請在執行之前確保任何腳本的準確性,並始終準備好備份以防萬一出現問題。