正则表达式与索引匹配snmp Oid

时间:2015-10-29 12:39:52

标签: regex bash snmp

表演后 snmpwalk -v 2c -c public hostname 1.3.6.1.2.1.17.7.1.2.2.1.2命令我有以下输出:

SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.1.0.15.61.132.159.255 = INTEGER: 0
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.1.0.192.159.134.194.92 = INTEGER: 1
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.0.21.242.169.11.194 = INTEGER: 23

我需要通过ifIndexes查找Oid来添加regexp。例如ifIndex'es 0和23我应该有以下输出:

2.17.7.1.2.2.1.2.1.0.15.61.132.159.255
2.17.7.1.2.2.1.2.2.0.21.242.169.11.194

1 个答案:

答案 0 :(得分:1)

使用GNU grep:

将其附加到您的命令
| grep -Po -- '-\K[^-]*(?= = INTEGER: '"23"'$)'

输出:

2.17.7.1.2.2.1.2.2.0.21.242.169.11.194

随意用变量替换23。