You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Bash将conf配置文件键值对转换为带超链接的HTML表格

解决方案

直接使用awk即可完成全部转换需求,执行效率高、代码简洁,不需要额外拆分读取逻辑,示例实现如下:

1. 生成表格行内容并存入变量

# 基础版:仅适配值无等号的场景
table_content=$(awk -F '=' '
{
    if ($2 ~ /^http/) {
        val = "<a href=\"" $2 "\">" $2 "</a>"
    } else {
        val = $2
    }
    print " <tr>"
    print "    <td>" $1 "</td>"
    print "    <td>" val "</td>"
    print "  </tr>"
}' conf.txt)

如果你的配置值本身可能包含等号,可以使用优化版,确保第一个等号后的所有内容都识别为值:

# 优化版:适配值包含等号的场景
table_content=$(awk '
BEGIN {FS="="}
{
    key = $1
    # 拼接第一个等号后的所有内容作为值
    val = substr($0, length(key)+2)
    if (val ~ /^http/) {
        val = "<a href=\"" val "\">" val "</a>"
    }
    print " <tr>"
    print "    <td>" key "</td>"
    print "    <td>" val "</td>"
    print "  </tr>"
}' conf.txt)

2. 生成完整HTML页面

拿到存储了表格行的变量后,通过Here Document即可快速生成完整HTML文件:

cat > config_table.html << EOF
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>配置项列表</title>
</head>
<body>
<table border="1" cellpadding="8" cellspacing="0">
  <tr>
    <th>配置键</th>
    <th>配置值</th>
  </tr>
  ${table_content}
</table>
</body>
</html>
EOF

执行完成后会在当前目录生成config_table.html文件,就是你需要的完整页面。

内容的提问来源于stack exchange,提问作者Kirill Kiselev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:00:00