如何删除所有空目录

如何删除所有空目录

(在 Linux 系统上)

我的文件系统上有一大堆嵌套子目录。我想删除所有不包含任何文件的目录路径。

换句话说,我想递归地删除每个目录中没有文件的目录或该目录的任何子目录中没有文件的目录。

答案1

对于所有版本的 find

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

如果你有较新版本

 find -type d -empty -delete

答案2

可能不是最好的解决方案,但是这个脚本有效:

#!/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

(部分基于对列出所有空文件夹

答案3

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

相关内容