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

Bash脚本中如何按环境分组关联多行文本生成指定格式?

解决方案

你可以使用以下awk命令实现需求:

awk '/^Environment/{env=$0; next} /^GATEWAY TEST/{gw=$0; next} /^EXECUTION-RESULT/{print env","gw","$0}' input.txt

命令逻辑说明:

  1. 匹配以Environment开头的行:保存当前环境到变量env,跳过后续处理(next)
  2. 匹配以GATEWAY TEST开头的行:保存当前网关测试项到变量gw,跳过后续处理
  3. 匹配以EXECUTION-RESULT开头的行:将之前保存的env、gw和当前结果行用逗号拼接后打印

原命令失效原因:

你之前的命令会把每个非Environment的行单独和环境行拼接输出,导致GATEWAY TEST和EXECUTION-RESULT各占一行,无法形成完整的单条测试项记录。

执行效果

假设输入文件名为input.txt,执行命令后会输出:

Environment: MS001,GATEWAY TEST: CV_ST,EXECUTION-RESULT: 0
Environment: MS001,GATEWAY TEST: CV_T2,EXECUTION-RESULT: 0
Environment: MS001,GATEWAY TEST: CVI_T,EXECUTION-RESULT: 0
Environment: MT01,GATEWAY TEST: S_C,EXECUTION-RESULT: 0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 22:04:53