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

寻求awk技术协助:提取文件特定段落及后续两行内容

解决awk提取特定段落及后续行的问题

你的命令存在重复打印、计数器逻辑混乱的问题,无法正确实现需求。以下是修正后的awk命令:

/TC024/{p=1}
p{print; if(/^$/){p=0; n=0}}
!p && n<2{print; n++; if(n==2) exit}

命令说明:

  • /TC024/{p=1}:匹配到以TC024开头的行时,开启打印标记p
  • p{print; if(/^$/){p=0; n=0}}:标记p生效时打印当前行;如果遇到空行(段落结尾),关闭p并初始化后续行计数器n
  • !p && n<2{print; n++; if(n==2) exit}:段落结束后,打印接下来的2行,每打印一行计数器加1,完成后直接退出程序

原命令问题分析:

  1. p;会直接打印所有p=1的行,后续p && c<=2{print}又重复打印这些内容
  2. 计数器c的触发时机错误,空行时c++后,后续行仍在p=1的状态下被重复处理
  3. 未明确区分段落内的行和空行后的行,整体逻辑流程混乱

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 22:12:12