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:另一个解决方案是:

$ find lol -type d -name .git -o -name .hg -o -name .svn | xargs rm -rf
4

1 回答 1

2

尝试改用该-exec选项。

find lol -depth -type d \( -name .git -o -name .hg -o -name .svn \) -exec rm -r '{}' \;
于 2013-04-07T16:34:11.233 回答