【发布时间】:2019-10-07 07:48:36
【问题描述】:
我有一个场景,我将 CSV 文件转换为 HTML 文件,然后使用 Sendmail 将 HTML 表格格式数据打印到邮件正文。但是输出的格式不正确
.csv 文件中的数据如下
A1,ABC,BCD
A2,DEF,AB
用于将 .csv 转换为 HTML 文件的代码
awk 'BEGIN{
FS=","
print "MIME-Version: 1.0"
print "Content-Type: text/html"
print "Content-Disposition: inline"
print "<HTML>""<TABLE border="1"><TH>NAME</TH><TH>CITY</TH><TH>COURSE</TH>"
}
{
printf "<TR>"
for(i=1;i<=NF;i++)
printf "<TD>%s</TD>", $i
print "</TR>"
}
END{
print "</TABLE></BODY></HTML>"
}
' /demo/data.csv > /demo/demofolder/demofile.html
以 HTML 表格格式打印数据的代码
(
echo "From: example@abc.com "
echo "To: example@abc.com "
echo "MIME-Version: 1.0"
echo "Subject: Test HTML e-mail."
echo "Content-Type: text/html"
cat /demo/demofolder/demofile.html
)| sendmail -t
但输出如下所示
我需要下面这种格式的输出
【问题讨论】:
-
我运行了您的
awk脚本并获得了正确的 HTML 表格。 -
标题和正文之间需要一个空行。此外,您不需要将标题放在
bash脚本和awk脚本中。 -
@Barmar 建议我如何改进它....
标签: awk