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

如何通过SED从MQ通道查询输出中提取CHLTYPE与MCAUSER字段

解决MQ通道字段提取问题

原命令失效的核心原因是:runmqsc输出中,CHLTYPE和MCAUSER是分两行显示的,而你用的sed命令要求两个字段在同一行才能匹配,自然提取不到内容。

以下是几种可行的解决方法:

方法1:grep提取+paste合并

直接过滤出包含目标字段的两行,再合并为一行:

echo 'dis CHANNEL(SYSTEM.DEF.SVRCONN)' | runmqsc QREP311 | grep -E 'CHLTYPE|MCAUSER' | paste -d' ' - -

方法2:awk缓存字段后输出

用awk记录第一个字段的内容,遇到第二个字段时一起打印:

echo 'dis CHANNEL(SYSTEM.DEF.SVRCONN)' | runmqsc QREP311 | awk '/CHLTYPE/{c=$0} /MCAUSER/{print c, $0}'

方法3:精准匹配目标通道(避免其他干扰)

如果输出中有其他通道的信息,可增加过滤逻辑,只处理SYSTEM.DEF.SVRCONN的内容:

echo 'dis CHANNEL(SYSTEM.DEF.SVRCONN)' | runmqsc QREP311 | awk '
/SYSTEM.DEF.SVRCONN/{in_chan=1}
in_chan && /CHLTYPE/{c=$0}
in_chan && /MCAUSER/{print c, $0; exit}'

以上方法都能输出你期望的格式:CHLTYPE(SVRCONN) MCAUSER( )

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 07:22:11