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

如何用awk提取测试结果文件中含迭代标识的错误记录?

解决方案

核心逻辑

用awk跟踪当前迭代号:匹配到迭代块的起始行时,把迭代号存为变量;之后遇到ERROR行,就把迭代号和错误内容一起输出。

单个文件处理命令

直接执行这条命令即可提取带迭代标识的错误行:

awk '/^# ----------------- Iteration / {iter=$4} $4 ~/ERROR/ {print iter ": " $0}' File1_loc/result.txt

批量处理30个文件

如果要一次性处理所有测试文件(假设文件路径符合*/result.txt的规律),可以加上FILENAME变量区分不同文件的错误:

awk '/^# ----------------- Iteration / {iter=$4} $4 ~/ERROR/ {print FILENAME, iter ": " $0}' */result.txt

命令细节说明

  • /^# ----------------- Iteration / {iter=$4}:识别迭代块的起始行,将该行第4个字段(即迭代号N)存入iter变量,后续所有行都会沿用这个值,直到遇到下一个迭代起始行更新变量
  • $4 ~/ERROR/ {print iter ": " $0}:当行的第4个字段包含ERROR时,输出当前迭代号+冒号+完整错误行内容
  • 批量处理时的FILENAME是awk内置变量,会显示当前处理的文件名,方便快速定位错误所属的测试文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:27:08