正则表达式通过索引匹配 snmp Oid

Regexp to match snmp Oid by index

表演后 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 来添加正则表达式。例如 ifIndex's 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

使用 GNU grep 将此附加到您的命令中:

| grep -Po -- '-\K[^-]*(?= = INTEGER: '"23"'$)'

输出:

2.17.7.1.2.2.1.2.2.0.21.242.169.11.194

随意用变量替换 23。