繁体   English   中英

如果无法通过Linux获得数据,如何不发送文件

[英]How Do I not send file if data is not available via linux

我有以下代码

for f in *@gmail.com*
do
    tmp=$( echo $f | awk -F'[_]' '{print $1}')
    tmp1=$( echo $f | awk -F'[_]' '{print $2 ,$3, $4,$5,$6}')
    newname1=${tmp1}
    newname=${tmp}
    echo $newname
    echo $newname1

    mv "$f" "${newname1}.csv"
    mail -a "${newname1}.csv" -s "working" $newname </dev/null
    mv "${newname1}.csv" $f
    rm -f "$f" "${newname1}.csv"
done
echo "mail -a "$newname1"  "working" $newname </dev/null "

即使CSV文件不包含任何数据,此脚本也可以工作。 但是,如果该CSV文件为空,则不应发送任何邮件。

检查文件大小是否不为零,然后发送邮件

if [ -s ${newname1}.csv ] 
then
     mail -a "${newname1}.csv" -s "working" $newname </dev/null
fi

如果文件大小不为空并且有一些标头,则可以使用此代码计算否。 文件中的行数,然后检查是否。 行数大于一个(头)

row=`cat ${newname1}.csv|wc -l` 
if [ $row -gt 1 ] 
then 
     mail -a "${newname1}.csv" -s "working" $newname </dev/null 
fi 

如果CSV文件有多行,您只需发送邮件即可:

if (( $(wc -l <YOUR_FILE.csv) > 1 ))
then
   mail ....
fi

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM