递归删除 Bash 中的所有空文件夹

问题描述 投票:0回答:2

是否有一个在 Bash 中执行的命令可以递归删除所有空文件夹,直到树中没有空文件夹?我可以执行这个:

find . -type d -empty | xargs -I '{}' rmdir {}

重复,直到不再有空文件夹,但我正在寻找更有效的东西。特别是因为要知道是否还有空文件夹,我必须执行相同的命令,即在每次迭代中两次调用

find . -type d -empty

bash shell
2个回答
29
投票

这很简单,考虑到 GNU

find
实用程序:

find . -type d -empty -delete

这将删除空目录;由于

-delete
选项意味着
-depth
选项,它将删除下面只有空目录的目录,因此无需多次运行它。


0
投票
find -empty -type d | xarg rm -d 

这将仅查找并删除您当前位置的所有空文件夹。

© www.soinside.com 2019 - 2024. All rights reserved.