查找并删除子目录没有错误?

查找并删除子目录没有错误?

我需要找到一种方法来从特定目录中删除子目录,如果不存在子目录,则不会收到错误。此命令将成功删除子目录(如果存在)

find /path/to/dir/* -maxdepth 1 -type d -exec rm -rf {} \;

但如果不存在,我会收到此错误:

查找:/path/to/dir/*:没有这样的文件或目录

另外,我使用的find是而不是简单的,rm因为有太多目录需要rm处理,并且必须使用 单独处理它们find

我还注意到,find /path/to/dir/ -maxdepth 1 -type d -exec rm -rf {} \;没有通配符实际上会删除目录目录也是如此。

答案1

您可以使用-mindepthfind 中的参数来防止它.在目标目录中匹配。这应该可以解决您的问题。

find /path/to/dir/ -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} +

相关内容