目前手里有一个需求,需要每天把算好的数据,以邮件的形式发送给其他同事。
shell脚本好写,但文件格式不好处理。由于Office文件的编码与格式问题,一般默认是将文件导成txt格式,但不方便同事处理。
处理方式如下,存在的缺点:通过修改文件后辍名实现,打开时会提示文件格式错误,直接点击确认即可。
环境:hive
--------------------------------------------------------------
hive -e "查询语句" >${localpath}/table.txt #将查询结果导出为txt文件
iconv -c -futf-8 -tgb2312 ${localpath}/table.txt >${localpath}/table2.txt #文件转码
mv ${localpath}/table2.txt ${localpath}/table2.xls #修改文件后辍名
mailx -s"这是title" -a${localpath}/table2.xls -rfjr@xxx.com sjr@xxx.com,sjr2@xxx.com </text.txt
--------------------------------------------------------------
附:
mail -s 添加标题;-a 添加附件;-r 伪装发件人
最后的命令是把text.txt中的内容,作为正文内容添加到邮件中。(linux下邮件必须有正文,否则无法结束)