使用.tsv文件的sed HTML表

时间:2016-09-13 15:09:39

标签: html csv awk sed html-table

我有一个.tsv文件:https://drive.google.com/open?id=0B9RZ9U8YCSPac2ZJMkpfanNxS0k

我需要使用sed命令创建一个包含.tsv文件信息的HTML表。

我尝试了多个命令,如:

awk '{print "<tr>\n<td>"$1 $2"</td><td>"$3 $4"</td><td>"$5 $6"</td><td>"$7"</td><td>"$8$9$10"</td><td>"$11"</td>\n</tr>}' employees.tsv 

但是考虑到所有专栏都没有相同数量的单词,它不起作用。

每列用制表符分隔\ t。如果您以hexa打开文件,您将看到所有09是\ t。

所以我想我必须使用表格来正确创建表格,但我仍然无法找到该命令。

我希望你们中的一些人可以帮助我。

1 个答案:

答案 0 :(得分:0)

我认为你可以用几个coerce_float命令来实现。

sed

这是基本想法。我会选择一个脚本,当然:) 请注意第三行上的sed -i 's/^/<TR><TD>/' employees.tsv sed -i 's/$/<\/TD><\/TR>/' employees.tsv sed -i 's/\t/<\/TD><TD>/g' employees.tsv echo '<TABLE>' > table.html cat employees.tsv >> table.html echo '</TABLE>' >> table.html 用于替换行中的每个匹配项,并使用正则表达式运算符/g^分别匹配行的开头和结尾。< / p>

如果您想要使用完整的sed,请将以下$cat替换为:

echo

编辑:要将其放入脚本中,请使用以下命令:

sed -i "1s/^/<TABLE>/" employees.tsv
sed -i "\$a<\/TABLE>" employees.tsv

然后,您可以调用#!/usr/bin/sed -f s/^/<TR><TD>/ s/$/<\/TD><\/TR>/ s/\t/<\/TD><TD>/g 1s/^/<TABLE>/ $a<\/TABLE> 替换就地,或./myscript employees.tsv -i让原始文件单独使用。
我正在添加这个脚本,因为我在最后一行中有点挣扎。原来./myscript employees.tsv > employees.html是从shell中逃脱\的。最后很明显。