假设我在名为.git
的文件夹中有3个目录.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:另一种解决方案是:
$ find lol -type d -name .git -o -name .hg -o -name .svn | xargs rm -rf
答案 0 :(得分:2)
请尝试使用-exec
选项。
find lol -depth -type d \( -name .git -o -name .hg -o -name .svn \) -exec rm -r '{}' \;