查找并删除目录及其子目录中的空文件,但未找到

问题描述 投票:0回答:1

我正在尝试制作一个bash脚本,该脚本可以在不使用find命令的情况下在包含子目录的目录中查找和删除空文件。

这是使用find命令的脚本的一部分,但是我不确定如何在不使用find的情况下转换此行。

find . -type f -empty -delete

bash command
1个回答
0
投票

启用globstar./**将扩展到.及其子目录中的所有目录条目。

shopt -s globstar
for f in ./**; do
    if [[ -f $f && ! -s $f ]]; then
        echo rm "$f"
    fi
done

[-f $f类似于-type f,而! -s $f类似于-empty;我们无需在此处引用$f,因为在[[]]中不会进行词拆分。

如果输出看起来不错,请删除回声。

© www.soinside.com 2019 - 2024. All rights reserved.