使用bash将文本文件输出转换为html格式

时间:2014-03-09 17:19:11

标签: bash awk

我正在尝试将一个文本文件转换为带有表的html,以便我可以以表格格式邮寄输出并使用awk 'BEGIN{print "Content-Type: text/html; charset="us-ascii""\n "<html>"\n "<Body>"\n "<table>"} {print "<tr>";for(i=1;i<=NF;i++)print "<td>" $i"</td>";print "</tr>"} END{print \n</Body>"\n "</html>"\n"</table>"}' a.txt >> email.html但是我遇到问题可能会有人帮助我

2 个答案:

答案 0 :(得分:2)

-Edited - 适用于此:

awk '
BEGIN{
    print "Content-Type: text/html; charset="us-ascii"\n<html>\n<head>\n<style>\ntable                 ,   th,td\n{\n border:1px solid black;
    border-collapse:collapse;\n}\n</style>\n</head>\n<Body>\n<table>"
    } 
    {print "<tr>"
    for(i=1;i<=NF;i++)
        print "<td>" $i"</td>"
    print "</tr>"
    }
    END{
    print "\n</table>\n</Body>\n</html>\n" 
    }' a.txt >> email.html

答案 1 :(得分:1)

你需要清理你的线。 \n需要双引号如下:

awk '
BEGIN{
    print "Content-Type: text/html; charset=us-ascii\n <html>\n <Body>\n<table>"
    } 
    {print "<tr>"
    for(i=1;i<=NF;i++)
        print "<td>" $i"</td>"
    print "</tr>"
    }
END{
    print "\n</Body>\n</html>\n</table>"
    }' a.txt >> email.html