【发布时间】:2022-07-16 19:30:38
【问题描述】:
在 Bash 中是否有一个命令可以递归地删除所有空文件夹,直到树中没有空文件夹?我可以执行这个:
find . -type d -empty | xargs -I '{}' rmdir {}
重复直到没有更多的空文件夹,但我正在寻找更有效的东西。特别是因为要知道是否还有空文件夹,我必须执行相同的命令,即在每次迭代中两次调用 find . -type d -empty。
【问题讨论】:
在 Bash 中是否有一个命令可以递归地删除所有空文件夹,直到树中没有空文件夹?我可以执行这个:
find . -type d -empty | xargs -I '{}' rmdir {}
重复直到没有更多的空文件夹,但我正在寻找更有效的东西。特别是因为要知道是否还有空文件夹,我必须执行相同的命令,即在每次迭代中两次调用 find . -type d -empty。
【问题讨论】:
这很简单,给定GNU find utility:
find . -type d -empty -delete
这将删除空目录;由于-delete 选项隐含-depth 选项,它会删除下面只有空目录的目录,因此无需多次运行。
【讨论】: