bash检查零大小的文件

时间:2013-12-03 11:53:40

标签: bash find

我无法在FIND上发表IF声明,并希望得到一些帮助。

如果我运行此命令,我会收到一些文件: find /var/sadm/spool -size 512c
如果我运行此命令,则不会返回任何内容: find /var/sadm/spool -size 0c

到目前为止,我所看到的文件是我所期望的那么好。但是,如果我按如下方式构造一个条件,即使我搜索的大小为0或512,它总是返回true:

if [ -n "$(find /var/sadm/spool -size 0c)" ]; then
    echo "there are files"  **<<<<< it always prints this**
else
    echo "no files found"
fi

我会感激任何帮助,因为我花了很多时间玩各种各样的事情,如-z, double [[ ]]等,但无济于事。感谢。

1 个答案:

答案 0 :(得分:1)

这对我有用:

find $dir -size 0

这也是(在0之后删除c):

if [ -n "$(find /var/sadm/spool -size 0)" ]; then
    echo "there are files"
else
    echo "no files found"
fi