我的expect_output(缓冲区)如下所示。
status QM1
QM(QM1) Status(Running)
CPU: 0.02%
Memory: 106MB
Queue manager file system: 391MB used, 47.3GB allocated
[1%]
HA role: Primary
HA status: Normal
HA control: Enabled
HA preferred location: Here
mqa(mqcli)#
尝试了多个正则表达式选项,但我一直得到0,因为没有匹配。
regexp /^.*\b(Running)\b.*$ $qmgrstat
类似,获取" HA状态"的值。
正确的Regex语法是什么?
答案 0 :(得分:1)
不确定我理解。您是否只想匹配{
"person": {
"titleId": 4
}
}
的值?如果是,那么这个正则表达式会这样做:
HA status
答案 1 :(得分:0)
您可以使用以下正则表达式获取整个输出:
status[^\v]*\vQM[^\v]*\vCPU:[^\v]*\vMemory:[^\v]*\vQueue manager file system:[^\v]*\vHA role:[^\v]*\vHA status:[^\v]*\vHA control:[^\v]*\vHA preferred location:[^\v]*\vmqa[^\v]*#\v
如果您想要使用状态为完整的文本行:[^\v]*Status\([^\v]*
要获取具有HA状态的行,您可以使用:HA status:[^\v]*
答案 2 :(得分:0)
如果要在“QM”状态运行时捕获HA状态,可以执行
if {[string match {*Status(Running)*} $qmgrstat]} {
regexp {HA status:\s+(\S+)} $qmgrstat -> status
}