当前位置: 首页 > 编程笔记 >

Shell脚本实现递归删除空文件夹

施彬郁
2023-03-14
本文向大家介绍Shell脚本实现递归删除空文件夹,包括了Shell脚本实现递归删除空文件夹的使用技巧和注意事项,需要的朋友参考一下

有时我们需要递归删除空文件夹,网上找了一下,没有发现比较好的Shell脚本,于是自己动手写了一个

脚本


#!/bin/bash

# author: 十年后的卢哥哥

# des: delete empty directories recursive

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,我们测试的文件结构为:

运行脚本:


# sh dedr.sh


删除的文件:

结果:

我们可以看到空文件夹已经被删除了。

 类似资料:
  • 本文向大家介绍Shell脚本实现删除邮件队列,包括了Shell脚本实现删除邮件队列的使用技巧和注意事项,需要的朋友参考一下 最近遇到了一个麻烦事:机器上邮件队列里老是被塞满,但是又不知道是什么地方发邮件写入的,十分蛋疼,没办法,只有临时处理一下了,写了个删除邮件的脚本rm_mqueue.sh。

  • 本文向大家介绍Python实现递归遍历文件夹并删除文件,包括了Python实现递归遍历文件夹并删除文件的使用技巧和注意事项,需要的朋友参考一下 思路: 遍历文件夹下面的文件夹 如果文件夹名称等于".svn",则修改文件夹的属性(因为".svn"的文件都是只读的,你不能直接删除) 删除此文件夹 如果文件夹名称不等于".svn",则递归上面的方法 Python的实现 代码 要点: Walk在os模块下

  • 本文向大家介绍Lua中实现递归删除一个文件夹,包括了Lua中实现递归删除一个文件夹的使用技巧和注意事项,需要的朋友参考一下 在使用 quick-cocos2d-x 做项目热更新的时候,我需要建立临时文件夹以保存下载的更新包。在更新完成后,我需要删除这些临时文件和文件夹。 cocos2d-x 和 quick-cocos2d-x 都没有提供删除文件夹功能。我做了如下2个尝试: 1. 使用C++ 在 c

  • 本文向大家介绍Shell脚本实现删除一年前文件功能分享,包括了Shell脚本实现删除一年前文件功能分享的使用技巧和注意事项,需要的朋友参考一下

  • 本文向大家介绍php7基于递归实现删除空文件夹的方法示例,包括了php7基于递归实现删除空文件夹的方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php7基于递归实现删除空文件夹的方法。分享给大家供大家参考,具体如下: php版本7.0.4 代码如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP目录操作技巧汇总》、《php文件操作总结》、《PHP常用遍历算法与技巧总

  • 本文向大家介绍shell脚本实现文件锁功能,包括了shell脚本实现文件锁功能的使用技巧和注意事项,需要的朋友参考一下 1.背景 当多个进程可能会对同样的数据执行操作时,这些进程需要保证其它进程没有在操作,以免损坏数据。通常,这样的进程会使用一个“锁文件”,也就是建立一个文件来告诉别的进程自己在运行,如果检测到那个文件存在则认为有操作同样数据的进程在工作。这样的问题是,进程不小心意外死亡了,没有清