linux下利用shell批量删除空文件

方法一:

FILE=$(ls /root/test)
for i in $FILE
do
        FILE_STR=$(cat /root/test/$i)
        if [ -z "$FILE_STR" ];then
#       echo $i
        rm -rf /root/test/$i
        fi

-z    字符长度是否为0


方法二:
#!/bin/bash
NULL_F=$(find /root/test/ -type f -size 0)
for i in $NULL_F
do
rm -rf $i
done

-type    文件类型“f”正常文件

-size    文件大小

两种方法都可以实现删除空文件,但是哪个更好呢?

我相信经过广大IT民工思考会很快发现第二种方法简单全面,它能递归查询test目录下的空文件。方法一只能删除当前目录下的。