我如何删除所有空目录

(在Linux系统上)

我在文件系统上有一大套嵌套的子目录。 我想修剪所有不包含文件的目录path。

换句话说,我想删除那个目录里没有任何文件的目录,或者是recursion地删除那个目录下的任何子目录。

对于所有版本的查找

find -depth -type d -empty -exec rmdir {} \; 

如果你有更新的版本

  find -type d -empty -delete 

可能不是最好的解决scheme,但这个脚本的作品:

 #!/bin/sh while true do DIRS=`find . -xdev -type d -exec find {} -maxdepth 0 -empty \;` if [ -z "$DIRS" ]; then exit 0 else echo $DIRS | xargs rmdir fi done 

(部分基于列出所有空文件夹的答案)

 for i in `find -type d -empty`; do rmdir $i; done