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

Raf*_*fid 8 bash shell

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

find . -type d -empty | xargs -I '{}' rmdir {}
Run Code Online (Sandbox Code Playgroud)

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

Jef*_*ler 21

考虑到GNUfind实用程序,这很简单:

find . -type d -empty -delete
Run Code Online (Sandbox Code Playgroud)

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