bash脚本 - 我想检查XLS是否为空。如果是的话,我不想做任何事情。如果不是,我想做点什么

时间:2015-02-04 21:57:09

标签: linux bash if-statement

我有一个包含if-then-fi语句的bash脚本。仅当XLS不为空时,代码块才会执行。目前我正在通过以下方式对此进行评估:

FILESIZE = `wc -c < $FILENAME`

如果文件为空,似乎生成的默认文件大小为4096字节。所以......

if [ $FILESIZE -gt "4096" ]; then
do something
fi
然而,我的老板并不是硬编码数字的忠实粉丝。是否有另一种解决方案来查看XLS是否有数据?

谢谢!

2 个答案:

答案 0 :(得分:0)

if [ -r "$FILENAME ]    # If there is a readable file "$FILENAME"
then
    if [ -s "$FILENAME" ]  # If file "$FILENAME" has a size greater than zero bytes
    then
        do something
    fi
fi

答案 1 :(得分:0)

您可以使用xls2csv命令,如果结果为0,则文件为空。

xls2csv file.xls | wc -l

这个命令通常在“catdoc”包中。