我有一个由某些过程生成的文本文件。截至目前,该文件有 5 列和 3 条记录。记录数量稍后可能会增加。
我想要以最简单的方法将这些行和列转换为表格格式并通过邮件发送。
我已经检查了一些类似下面的帖子,但没有一个地方满足我的确切要求。
我看到了各种实现多部分邮件的帖子,但我不太明白。有没有更简单的方法或者多部分方法是唯一的方法?
File :
Col1,col2,col3,col4,col5
Abc,0,5000,4500,True
bcd,1,9000,3000,False
DGF,3,4000,2000,True
我想以表格的形式通过邮件发送该文件。
答案1
如果您的源是包含以下内容的文件
Col1,col2,col3,col4,col5
Abc,0,5000,4500,True
bcd,1,9000,3000,False
DGF,3,4000,2000,True
下面的脚本将创建一个带有表格的 html 文件
#!/bin/bash
IFS=$','
first=1
echo '<table>'
while read -r cola colb colc cold colf; do
[[ $first == 1 ]] && element=th || element=td
first=0
echo "<tr><$element>$cola</$element><$element>$colb</$element><$element>$colc</$element><$element>$cold</$element><$element>$colf</$element></tr>"
done < $1
echo '</table>'
要执行,您需要创建一个.sh文件并将脚本粘贴到其中。设置其执行模式
chmod +x your_script.sh
然后执行脚本,将输出定向到文件(示例:输出.html)
./your_script.sh your_source_file > output.html
完成后你的输出应该是这样的
要发送电子邮件,您可以使用以下命令
sendemail -s stmp:port -xu user -xp pass -f account_from -t destination_account -u subject -m "your_html_message" -o message-header="From: your name <account_from>" -o message-content-type=html -o message-charset=UTF-8