shell递归删除空文件夹脚本示例

发布时间:2019-11-03编辑:脚本学堂
shell脚本递归删除空文件/目录的代码,删除文件夹使用rm或rmdir命令即可,这里将删除目录的操作写在shell脚本中,方便调用。

功能描述:递归删除空文件夹

shell/ target=_blank class=infotextkey>shell脚本
 

复制代码 代码示例:

#!/bin/bash
#

deleteempty() {
    find ${1:-.} -mindepth 1 -maxdepth 1 -type d | while read -r dir
    do
        if [[ -z "$(find "$dir" -mindepth 1 -type f)" ]] >/dev/null
        then
            echo "$dir"
            rm -rf ${dir} 2>&- && echo "Empty, Deleted!" || echo "Delete error"
        fi
        if [ -d ${dir} ]
        then
            deleteempty "$dir"
        fi
    done
}
//调用
deleteempty

功能:遍历目录,找出空文件夹,然后删除。

使用
假如脚本文件为dedr.sh,测试的文件结构为:

shell递归删除空文件夹

运行脚本:
 

# sh dedr.sh

删除的文件:
shell递归删除空文件夹2

结果:
shell递归删除空文件夹3

空文件夹已被删除了。