我有一台Cisco路由器,我需要知道哪个接口用于LAN。这是 show interface description 输出:
R1#sho int desc
Interface Status Protocol Description
Em0/0 admin down down
Gi0/0 up up LAN
Gi0/1 up up WAN
Gi0/2 up up Crosslink
Gi0/2.100 up up Crosslink
我设法使用pexpect登录并将上述输出变为变量,但我不确定如何过滤它:
execute.send('term len 0\n')
execute.expect(device['name'] + '#')
execute.send('sho int desc\n')
execute.expect(device['name'] + '#')
output = execute.before
我想要" Gi0 / 0"结果。
你可以给我一些想法吗? 谢谢!答案 0 :(得分:0)
我使用了以下代码:
execute.send('sho int desc\n')
execute.expect(device['name'] + '#')
output = execute.before
for line in output.splitlines():
if re.match('.*LAN.*', line):
interfaceName = re.findall(r'[^\s]+' ,line)[0]
必须有更好的解决方案。如果您有任何想法,请分享。