有時(shí)我們需要遞歸刪除空文件夾,網(wǎng)上找了一下,沒(méi)有發(fā)現(xiàn)比較好的腳本,于是自己動(dòng)手寫(xiě)了一個(gè)
腳本#!/bin/bash# author: 十年后的盧哥哥(http://www.CUOXin.com/lurenjiashuo/)# des: delete empty directories recursivedeleteempty() { 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腳本的內(nèi)容很簡(jiǎn)單,就是遍歷目錄,找出空文件夾,然后刪除。
使用假如腳本文件為dedr.sh,我們測(cè)試的文件結(jié)構(gòu)為:

運(yùn)行腳本:
# sh dedr.sh
刪除的文件:

結(jié)果:

我們可以看到空文件夾已經(jīng)被刪除了。
參考文檔1、finding-empty-directories-unix
新聞熱點(diǎn)
疑難解答
圖片精選