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

如何用Bash脚本提取文本文件中重复HTML TH标签的内容

提取标签内的值到数组/变量的解决方案

下面提供几种简单高效的命令行方法,帮你把目标标签里的内容提取到bash数组或变量中:

方法1:grep + sed 组合提取

先筛选出目标行,再剥离HTML标签提取内容:

# 将提取到的值存入bash数组
values=($(grep '<th scope="col" class="text-center">' email_resp.txt | sed 's/.*<th scope="col" class="text-center">\(.*\)<\/th>.*/\1/'))
  • grep 负责过滤出所有包含目标标签的行
  • sed 通过正则表达式捕获标签包裹的内容,把整行替换成捕获到的部分
  • 最终结果直接存入数组values,后续可通过${values[0]}、${values[1]}...逐个访问

方法2:awk一步到位提取

利用awk的字段分隔功能,直接拆分标签并提取内容:

values=($(awk -F '<th scope="col" class="text-center">|</th>' '/<th scope="col" class="text-center">/{print $2}' email_resp.txt))
  • 把的起始标签和结束标签设为分隔符
  • 匹配到目标行时,打印第二个字段(也就是标签中间的内容)
  • 结果同样存入数组

方法3:纯sed实现提取

用sed的匹配替换功能直接完成筛选和提取:

values=($(sed -n 's/.*<th scope="col" class="text-center">\(.*\)<\/th>.*/\1/p' email_resp.txt))
  • -n 参数让sed只输出处理后的匹配行
  • 正则捕获标签内的内容,替换整行后打印结果

如何使用提取到的数组

遍历所有值:

for val in "${values[@]}"; do
    echo "提取到的值:$val"
done

单独访问指定位置的值:

echo "第一个统计值:${values[0]}"
echo "第二个统计值:${values[1]}"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 01:20:33