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

如何通过bash从HTML文件中提取指定数量的匹配article标签节点

提取前N个匹配article节点的实现方案

方案1:修改原有sed命令(改动最小)

你可以直接在原有sed逻辑的基础上新增计数器功能,匹配到目标article起始标签时计数+1,计数超过你需要的数量时直接退出程序即可。
以提取前2个article为例,命令如下:

sed -n '/<article class.*article--nyheter/{p; :loop; n; /<\/article>/{p; x; s/^/1/; /^1\{2\}$/q; x; b}; p; b loop}' news2.html > top2Articles.html

你只需要修改命令中1\{2\}的数字2,替换为你要提取的前x个的数值即可,比如要提取前5个就改为1\{5\}。

方案2:awk实现(逻辑更易读)

如果需要经常调整提取数量,awk的计数逻辑更直观,修改成本更低:

awk '
/<article class.*article--nyheter/ {count++}
count > 2 {exit}
count >= 1 {print}
' news2.html > top2Articles.html

同样将上述代码中的数字2替换为你需要的x值即可。

注意事项

  • 上述方案仅适用于无嵌套article标签的HTML结构,和你原有提取全量article的命令适用场景完全一致
  • 如果HTML存在标签属性换行、格式不规范的情况,建议先格式化HTML文件再执行上述命令,避免匹配失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:06:03