gpt4 book ai didi

html - 如何使用 shell/bash 将 txt 转换为 html 格式

转载 作者:太空宇宙 更新时间:2023-11-04 16:01:42 27 4
gpt4 key购买 nike

我在文本文件中有以下数据:

Details_A
name: A1
Valid: A1_Value
name: A2
Valid: A2_Value
Details_A2
name: A2
Valid: A2_Value
name: A2
Valid: A2_Value

我试图将其转换成下面的 html 表格:

详情

Output HTML Table

最佳答案

您可以使用 awk像这样:

awk 'BEGIN { 
x = 0;
print "<table border="1">"
}
{
if (NF == 1){
print "<tr ><td colspan="2">"$i"</td>";
print "</tr>"
} else {
if (x == 0){
x++;
print "<tr><td>"$i"</td>"
} else {
x = 0;
print "<td>"$i"</td></tr>"
}
}
}
END {
print "</table>"
}' input.txt > table.html

随意添加任何额外的样式

旧版本 awk ,您可以使用以下内容,在 awk 上测试过2009-11-26 的实现(来自 one-true-awk):

awk  'BEGIN {
x = 0;
y = 0;
print "<table border="1">"
}
{
for (i = 1; i<=NF ; i++){

if (NF == 1){
print "<tr ><td colspan="2">"$i"</td></tr>";
} else {

if (x == 0 && y == 0){
print "<tr><td>"$i" ";
x++;
}
else if (x == 0 && y == 1){
print "<td>"$i" ";
x++;
}
else if (x==(NF-1)){
x = 0;
y++;
if (y == 2){
y = 0;
print ""$i"</td></tr>";
}
else{
print ""$i"</td>";
}
}
else {
print ""$i" ";
x++;
}
}
}
}
END {
print "</table>"
}' input.txt > table.html

对于最后一个版本,x在每个空格分隔符处递增,直到我们到达 NF-1这是硬道理,我们应该加上结尾 </td> .结局的决定</tr>取决于 y 的值每行递增并在最大计数为 <td> 时重新初始化已达到(此处为 2 <td><tr> )

关于html - 如何使用 shell/bash 将 txt 转换为 html 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41325981/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com