0

使用终端删除文件夹名称为 X 和 Y 的所有子文件夹的最佳方法是什么。

4

1 回答 1

1
find . -mindepth 1 -d -type d ! -name X -a ! -name Y -exec rm -r {} \+

mkdir d; touch d/f; find . -name d -delete似乎不起作用。

-mindepth 1 and -d至少在 OS X 上是可选的。没有-mindepth -1rm: "." and ".." may not be removed. 没有-drm 会在删除其父文件夹后尝试删除子文件夹。

{} 不必转义

如果所有目录都在当前目录下:

shopt -s extglob
rm -r !(X|Y)/
于 2013-04-03T21:00:22.540 回答