有时我们需要递归删除空文件夹,网上找了一下,没有发现比较好的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

删除的文件:

结果:

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

linux递归删除空文件夹,Shell脚本实现递归删除空文件夹相关推荐

  1. linux 递归删除 空目录命令,使用shell脚本实现递归删除空目录

    平时一般使用php脚本实现一些文件管理功能,总归没有shell脚本强大,虽然本人不会写shell脚本,但是读懂shell脚本还是没问题的.对于"递归删除空目录"这样简单的功能使用p ...

  2. linux遍历目录删除指定文件,利用shell脚本遍历文件夹内所有的文件并作整理统计的方法-linux删除文件夹...

    本篇文章扣丁学堂Linux培训小编给读者们分享一下利用shell脚本遍历文件夹内所有的文件并作整理统计的方法,文章具有很好的参考价值,感兴趣的小伙伴就随小编来了解一下吧. 环境: Ubuntu下采用s ...

  3. linux 循环显示所有的sh.*文件.,利用shell脚本遍历文件夹内所有的文件并作整理统计的方法...

    环境: Ubuntu下采用shell脚本实现 案例简述:文件夹内有许多子文件夹,这里需要自动读取所有的文件,包括他们的地址和文件名.通过观察文件名的规律,按照一定的规则裁剪出文件名的某一部分,该部分为 ...

  4. linux shell 获取表,bash - 如何获取shell脚本中目录中的文件列表?

    bash - 如何获取shell脚本中目录中的文件列表? 我试图使用shell脚本获取目录的内容. 我的脚本是: for entry in `ls $search_dir`; do echo $ent ...

  5. linux shell脚本自动批量解压文件

    单个文件解压很简单,批量不确定目录的压缩包呢?解压到原路径?解压后删除原压缩包?本脚本可一键解决以上所有问题 linux shell脚本自动批量解压文件 脚本免费下载地址: 传送门https://do ...

  6. php批量替换文件内容,Shell脚本实现批量替换文件内容

    Shell脚本实现批量替换文件内容 今天同事发现内部服务器的硬盘空间不够了,上面有很多备份,我又不能删除,重新找了个320g的硬盘挂载了上,想以后shell脚本下的备份都转移到新硬盘上,给老硬盘腾出空 ...

  7. crontab里shell脚本将top信息写入文件

    crontab里shell脚本将top信息写入文件: 注: 1.top -n 1代表执行1次退出(默认top是不退出的),-d 1代表每1秒执行1次 2.crontab里需加/bin/bash # c ...

  8. shell脚本单词去重多个文件

    shell脚本单词去重多个文件 例如要求如下: 有多个txt文件,每个文件内有多行单词 中间为英文的",",或者中文的","逗号作为分隔符. world,世界 ...

  9. shell脚本实践:自动清理文件,以时间方式形成路径的图片或者是Excel、pdf等文件

    目录 1.背景: 2.shell脚本开发需求: 3.shell脚本开发过程: 4.shell脚本开发结果: 5.shell脚本开发结果验证 总结: 1.背景: 在日常运维中遇到一个业务系统,系统中有一 ...

最新文章

  1. 【错误记录】Android Gradle 配置报错 ( gradle.properties 配置到 BuildConfig 中需要注意类型转换 | 位置: 类 BuildConfig )
  2. 走马观花:Visual Studio Code Name Orcas Mar07CTP /体验DLINQ
  3. java 创建日程到期提醒_日程管理工具—Things 3
  4. python自动登录校园网_免费自动登录国科大校园网python脚本
  5. mysql灰度更新_灰度发布系统架构设计
  6. 学习 Python 这么多年,掉过的那些安全漏洞
  7. ACGAN(Auxiliary Classifier GAN)详解与实现(tensorflow2.x实现)
  8. linux安装svn(yum安装)
  9. 1450. Russian Pipelines(spfa)
  10. 20210219 plecs为不同的PWM 配置不同的死区时间
  11. 倒计时 分秒 小程序 方法_微信小程序 倒计时
  12. 基于 OpenSSL 生成自签名证书
  13. 小米平板刷机shell怎么退_黑龙江省宁安市小米平板1的刷机经历刷入DotOS并退回MIUI-最懂产品的运维...
  14. 【FXCG】美联储加息之际,新兴市场加息周期却接近尾声
  15. 集成学习中boosting、bagging、随机森林算法的介绍
  16. 判断一个数是否为质数的三种方法
  17. Android 9.0 recovery 菜单页跳过弹窗自动 WIPE_DATA(恢复出厂设置)
  18. putty 下载地址
  19. LCD+TP for linux BSP
  20. ARGB颜色快速取大对比度色(保留原本透明度)

热门文章

  1. 16-《电子入门趣谈》第三章_电子世界中的五官---传感器-3.2.1DS18B20
  2. 禁止电脑更新系统步骤
  3. 一步步去阅读koa源码,整体架构分析
  4. Android学习羁绊之网络技术
  5. 西工大NOJ数据结构理论——010.k阶斐波那契数列(严3.32)
  6. 我不写故事,只是想聊一聊关于聊天这件事情
  7. 60行python代码打造打字训练器小游戏(PyQt5)
  8. 手动以及使用torch.nn实现logistic回归和softmax回归
  9. 安装epel-release软件包
  10. python loads_Python中的dump() 和load()以及dumps()和loads()