我有一个.dat文件,它包含以下表格:
06:53:39 CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
06:53:40 all 1.68 0.00 1.85 0.84 0.00 0.17 0.00 95.46 1335.64
06:53:40 0 2.97 0.00 0.99 2.97 0.00 0.99 0.00 92.08 1069.31
06:53:40 1 1.01 0.00 1.01 0.00 0.00 0.00 0.00 97.98 0.00
06:53:40 CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
06:53:41 all 0.34 0.00 0.34 0.17 0.17 0.17 0.00 98.83 1145.00
06:53:41 0 0.00 0.00 1.00 2.00 0.00 0.00 0.00 97.00 1035.00
06:53:41 1 1.00 0.00 2.00 0.00 0.00 0.00 0.00 97.00 0.00
Average: CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
Average: all 1.01 0.00 1.09 0.50 0.08 0.17 0.00 97.15 1240.80
Average: 0 1.49 0.00 1.00 2.49 0.00 0.50 0.00 94.53 1052.24
Average: 1 1.01 0.00 1.51 0.00 0.00 0.00 0.00 97.49 0.00
我正在尝试使用以下代码将其转换为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>"
}' file.dat >> file.html
此特定代码视为一个完整的HTML表并添加所有记录。正如您在.dat文件中看到的那样,它将内容分成3个表(将有许多表)。我需要将.dat文件中的每个表都创建为HTML文件中的单独表。如何调整我的代码以实现此目的,或者请提供一些示例代码?
谢谢,
答案 0 :(得分:0)
如果你想不小心做 - 我建议允许Vim帮助你。
以下是将文件转换为HTML的简单步骤:
1)如果尚未安装vim,请安装vim
2)打开你的.dat文件
3)运行本机Vim脚本,将任何文本文件从Vim命令模式转换为HTML格式(按&#34; Escape&#34;按钮进入命令模式)
:runtime!syntax/2html.vim
4)你将有一个带有HTML格式文本的新窗口。将其保存为与Vim命令模式不同的文件。
:w test.html
5)如果要通过shell脚本自动转换文件,可以使用一个自定义函数。但它会产生很大的开销,所以对于自动化我建议潜入awk。
vimhtml() { [[ -f "$1" ]] || return 1; vim +'syn on | run!syntax/2html.vim | wq | q' "$1";}
vimhtml try.dat
以下是转换后的情况。不要担心背景,你可以改变这个非常简单。