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