有时我们需要递归删除空文件夹,网上找了一下,没有发现比较好的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. jquery对事件的监听方法addEventListener()
  2. python怎么自学、可以达到什么程度-Python学到什么程度才算精通?天津Python培训...
  3. 1.cocos2dx之Menu(CCMenuItemFont,CCMenuItemImage,CCMenuItemLabel,CCMenuItemSprite,CCMenuItemToggle)
  4. 使用Eclipse连接SAP Netweaver系统遇到的错误消息和解决办法
  5. 关于vue 框架与后台框架的混合使用的尝试
  6. 计算所有1-100之间数字之和(偶数之和)代码
  7. Swift应用案例 2.闭包入门到精通
  8. 整体二分——[Poi2011]Meteors
  9. “FreeTextBox”控件使用——Word编辑器
  10. 考研高等数学张宇30讲笔记——第一讲 高等数学预备知识
  11. python制作日历并保存成excel_Python+Excel制作精美壁纸日历,任意DIY
  12. 电脑桌面图片变成白色的解决方案
  13. Adobe Flash Player 地区不相容的解决方法
  14. 积极为开发者提供开源客服系统,春松客服得到有味生活3D商城认可
  15. 关于WEP的产生原因及其原理
  16. 360又抢了12306的风头:它为什么能提前49天订票?
  17. 计算机怎么查找表格里内容,请教如何迅速查找复杂EXCEL表格里的内容? -电脑资料...
  18. 在J2EE项目中集成快钱支付接口
  19. iOS网络(一): Http协议通信及NSURLConnection的GET和POST方法,小文件下载
  20. express+request实现-图夫在线爬取网页图片

热门文章

  1. DIY狂人自制3D打印机 可打印食物
  2. 4.8 对齐和混合脸部元素
  3. 娱乐:黄晓明现身台湾捞金获baby相随:她就想跟着我
  4. linux otg状态,Android系统插入OTG后不休眠
  5. JavaScript继承 1
  6. ipad可以用的手写笔,平板触控笔哪款好用
  7. 预处理php_如何使现代PHP更现代? 随着预处理!
  8. ELK日志分析系统(企业级查看日志系统)
  9. 定时关机java程序
  10. iPhone 14系列屏幕适配