有時我們需要遞歸刪除空文件夾,網上找了一下,沒有發現比較好的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
刪除的文件:

結果:

我們可以看到空文件夾已經被刪除了。
新聞熱點
疑難解答