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

Recursively delete all empty folders in bash

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

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

重复直到没有更多的空文件夹,但我正在寻找更有效的东西,特别是要知道是否有更多的空文件夹,我必须执行相同的命令,即两次调用 find . -type d -empty 在每次迭代中。

谢谢!

这很简单,因为 GNU find utility:

find . -type d -empty -delete

这将删除空目录;由于 -delete 选项暗含 -depth 选项,它将删除下面只有空目录的目录,因此无需多次 运行。