Shell腳本實現遞歸刪除空文件夾

PC教程網】關于Shell腳本實現遞歸刪除空文件夾_遞歸刪除文件夾介紹:有時我們需要遞歸刪除空文件夾,網上找了一下,沒有發現比較好的Shell腳本,于是自己動手寫了一個 腳本 教程實例 代碼如下: #!/bin/bash # author: 十年后的盧哥哥 # des: delete empty directo,下面小編為您針對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

刪除的文件:

結果:

我們可以看到空文件夾已經被刪除了。

相關教程

windows7系統下如何創建一個別人無法刪除的文件夾

windows7系統下如何創建一個別人無法刪除的文件夾

如何在windows7系統下創建別人無法刪除的文件夾帶給大家,在平常時一臺電腦讓多人使用是很正常的,不過電腦多人使用的話,有時候自己創建的文件夾老是無緣無故的消失掉,很有可 …

Win7旗艦版使用系統自帶功能找回刪除的文件教程

Win7旗艦版使用系統自帶功能找回刪除的文件教程

這Shift+Del用慣了的代價,怎么辦?小編最終因禍得福,找回了文件,還能給大家分享刪除的文件找回教程。如果你是正版Win7旗艦版,也有這樣的煩惱,就看下文吧。 作為一個IT小編,隨 …

如何清空文件夾里面的所有文件和文件夾

教程實例 代碼如下: private void deletefileOrDic(System.IO.DirectoryInfo path) { try { foreach (System.IO.DirectoryInfo d in path.GetDirectories()) { d.Delete(true); } foreach (System.IO.FileInfo f in path.GetFiles()) { f.Delete(); } …

c# 遞歸訪問文件夾(刪掉歌詞文件)

教程實例 代碼如下: using System; using System.IO; namespace DelAllLrcFiles { class Program { static readonly string root = @"E:\我的音樂\Classic\"; static readonly string ext = ".lrc"; static void Main(string[] args) { DelAllLrc …

批處理bat刪除指定天數日期之前的文件夾

【方案一】BAT + REG + VBS 教程實例 代碼如下: @echo off ::演示:刪除指定路徑下指定天數之前(以文件夾的最后修改日期為準)的文件夾。 ::如果演示結果無誤,把rd前面的echo去掉,即可實 …

python遍歷文件夾并刪除特定格式文件的示例

教程實例 代碼如下: #!/usr/bin/python # -*- coding: utf-8 -*- import os def del_files(path): for root , dirs, files in os.walk(path): for name in files: if name.endswith(".tmp"): os.remove(os.path.join(root, name)) print ("Delete Fil …

内蒙古十一选五任五推荐号