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

如何在AWK中使用多个RS?日志特定模式提取求助

AWK多记录分隔符提取日志模式解决方案

可行命令

针对你的需求,使用GNU AWK(支持正则表达式作为记录分隔符)可以实现目标输出,执行以下命令:

awk 'BEGIN{RS="RECORD|\\*"; FS="-1/NO,"} NF>1 {sub(/^\s+/,"",$NF); print $NF "\nRECORD"}' log2

命令说明

  • RS="RECORD|\\*":将RECORD或*设为记录分隔符,让AWK把每个目标块单独作为一条记录处理
  • FS="-1/NO,":用-1/NO,切割字段,取最后一个字段($NF)就是你需要的核心内容
  • sub(/^\s+/,"",$NF):移除内容开头的多余空格,保证输出格式整洁
  • print $NF "\nRECORD":输出提取的内容后追加RECORD,完全匹配你要的目标格式

适配调整

如果日志中的分隔符不是*或RECORD,只需修改RS后的正则表达式,替换成实际的分隔标识即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 02:10:01