使用 unix 删除给定路径中的所有目录

使用 unix 删除给定路径中的所有目录

我有一个目录,其中包含许多文件和许多空目录。我想保留文件但删除目录。如何使用rm和其他标准 unix 工具来实现这一点?

答案1

大致如下:

find . -type d -empty -delete

我相信这-delete是一种 GNUism,在这种情况下你必须这样做:

find . -type d -empty -print0 | xargs -0 rm

这处理了文件名带有“奇怪”字符的情况(但它似乎-print0-0是 GNU 扩展)。

相关内容