2013-11-23 81 views

回答

0

備份你的目錄第一,我沒有測試過這個,它有一個錯誤,如註釋中所述。

,而在實際的/源目錄:

ls|fgrep -v -e .tar -e .patch|xargs rm -rf 

你可能想使用的伎倆「xargs的後襬回聲」,看看這實際上做,運行它之前:

ls|fgrep -v -e .tar -e .patch|xargs echo rm -rf 
+1

謝謝!這個工作正常! – gaia

+1

如果有空格的文件名,這實際上會中斷。 「-1」表示對整個世界和未來世代的不良做法。 –

+0

@gniourf_gniourf隨時編輯我的答案以糾正錯誤 –

1

這應該工作:

find . -not -name "*.tar" -not -name "*.patch" -type f -exec rm {} \; 

這隻使用一個不使用pipes的命令。

注意。這將遞歸進入子目錄。如果這是不需要的,請使用maxdepth開關:

find . -maxdepth 1 -not -name "*.tar" -not -name "*.patch" -type f -exec rm {} \; 
相關問題