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

如何为奇数行追加后续偶数行最后一列并移除偶数行?

完成你的AWK文本处理任务

我来帮你完善这个AWK脚本,刚好能实现你要的「提取batch行最后一列追加到上一行末尾,然后移除batch行」的需求。

完整的AWK代码

BEGIN { FS="|"; OFS="|" }
# 处理非batch行(奇数行):先保存整行内容
!($3 == "batch") { 
    prev_line = $0 
}
# 处理batch行(偶数行):把最后一列追加到之前保存的行并打印
$3 == "batch" { 
    print prev_line $5 
}

代码解释

  • BEGIN { FS="|"; OFS="|" }:先统一设置输入和输出的字段分隔符为|,确保处理和输出的格式一致。
  • 当遇到非batch行(也就是开头是user的行),我们把整行内容暂存在prev_line变量里,等着下一行的batch数据来补充。
  • 当遇到batch行($3等于batch的行),直接把之前保存的prev_line和当前行的第5个字段(也就是你要的最后一列K值)拼接起来打印,这样就自动跳过了batch行本身,只输出合并后的结果。

测试验证

用你提供的原始数据运行这个脚本,输出结果正好符合你的期望:

user|396012_232|program|30720Mn|5108656K
user|398498_2|program|102400Mn|36426336K
user|391983_233|program|30720Mn|5050424K

可选的边缘情况处理

如果你的数据可能存在「最后一行是非batch行」的情况,可以在脚本末尾加上END块,确保这一行也能被输出:

BEGIN { FS="|"; OFS="|" }
!($3 == "batch") { 
    prev_line = $0 
}
$3 == "batch" { 
    print prev_line $5 
}
END {
    # 如果最后一行是非batch行,打印它
    if (prev_line) print prev_line
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:24:15