如何删除除 .svn 目录之外的所有内容?

Are*_*rek 2 find pattern-matching

我有相当复杂的目录树。有许多子目录,在其他文件和目录旁边的这些子目录中是“.svn”目录。

现在,在 linux 下,我想删除.svn 目录之外的所有文件和目录。

我找到了许多关于相反行为的解决方案 - 删除树中的所有 .svn 目录。有人可以引用我删除除 .svn 之外的所有内容的正确答案吗?

Cyl*_*ric 6

我通常使用相对简单find-exec选项,因为我总是忘记 -delete 命令。我也仅限于文件。主要是因为我使用find {someswitches} -exec {somecommand}了很多变体- 所以我记得它!

find . -type f -not path '*.svn*' -exec rm {} \;

  • 使用 ubuntu,我必须在 `path` 之前添加一个 `-`,如下所示: `find 。-type f -not -path '*.svn*' -exec rm {} \;` (2认同)