0
假設我有3個目錄.git
,.hg
和.svn
某個地方的文件夾名爲lol
。查找並刪除多個參數目錄
如何找到並刪除所有這些?
下這樣做只爲最後一個(.svn
):
$ find lol -type d -name .git -o -name .hg -o -name .svn -delete
E:這可以通過做ls
太多,但並非沒有shopt -s globstar
(因爲我不跟zsh
這樣做) :
$ shopt -s globstar
$ rm -r $(ls -d ceaw/**/.{git,hg,svn})
E2:另一種解決方案的woulda:
$ find lol -type d -name .git -o -name .hg -o -name .svn | xargs rm -rf
是的,我確實需要'-r'因爲這些是_directories_但仍然只刪除最後一個。 – Det 2013-04-07 16:50:25
@請參閱更新。試着用圓括號。 – squiguy 2013-04-07 16:53:41
這樣比較好,但是不打印'find:\ lol/.hg':所有刪除的文件或目錄錯誤都沒有,你最後應該加上'2>& - '。 – Det 2013-04-07 17:04:21