2013-04-03 50 views
0

如何使用終端刪除文件夾名稱爲X和Y的所有子文件夾的最佳方式是什麼?如何使用終端刪除除文件夾名稱X之外的所有子文件夾

+0

只是FYI,這是[此相關的問題(相反http://stackoverflow.com/questions/15784335/how-to-刪除所有文件夾與文件夾名稱x內部目錄使用osx終端)OP問一段時間回 –

+0

考慮到相關問題的信息,可能創建一個查詢來確定一個要刪除的文件夾名稱。那麼是否有可能在這樣的查詢中實現多個文件夾名稱(即除X和Y以外的所有文件夾名稱),以便最終生成僅包含子文件夾X和Y的文件夾? – Oliver

+0

是否要遞歸移除文件夾? –

回答

1
find . -mindepth 1 -d -type d ! -name X -a ! -name Y -exec rm -r {} \+ 

mkdir d; touch d/f; find . -name d -delete似乎不工作。

-mindepth 1 and -d至少在OS X上是可選的。沒有-mindepth -1會有像rm: "." and ".." may not be removed這樣的警告。如果沒有-d rm會刪除其父文件夾後嘗試刪除子文件夾。

{} doesn't have to be escaped

如果所有的目錄是在當前目錄下:

shopt -s extglob 
rm -r !(X|Y)/ 
相關問題