我在底部找到表达式,从以下命令中提取在线对等体的数量,结果为0而不是5.我猜是必须是旧表达式。
这是命令输出,/ usr / sbin / asterisk -r -x“sip show peers”| grep“sip peers”
6 sip peers [Monitored: 5 online, 1 offline Unmonitored: 0 online, 0 offline]
/usr/sbin/asterisk -r -x "sip show peers" | grep "sip peers" | sed 's/.* \([0-9]*\) online.*/\0/'
如何更改表达式以从受监控的数据中提取在线对等数量?
答案 0 :(得分:1)
您可以使用以下sed
命令:
/usr/sbin/asterisk -r -x "sip show peers" | sed '/^[0-9]\+ sip peers/s/.*Monitored: \([0-9]\+\) online.*/\1/
sed命令仅适用于以sip peers
开头的行,并将使用带有[0-9]\+
的sed子代码s
提取带有模式\1
的数字。