我想通過循環讀取逐行讀取txt文件的命令輸出來解析Cisco show ip interface vrf all
。無法正確解析cisco cli命令輸出
輸出是:
IP Interface Status for VRF "default"
loopback1, Interface status: protocol-up/link-up/admin-up, iod: 212,
IP address: 10.1.0.1, IP subnet: 10.1.0.0/30
...
Ethernet1/1, Interface status: protocol-up/link-up/admin-up, iod: 278,
IP address: 10.0.0.1, IP subnet: 10.0.0.0/30
IP Interface Status for VRF "TEST"
Vlan99, Interface status: protocol-up/link-up/admin-up, iod: 147,
IP address: 172.16.0.1, IP subnet: 172.16.0.0/24
...
Vlan888, Interface status: protocol-up/link-up/admin-up, iod: 115,
IP address: 172.16.1.1, IP subnet: 172.16.1.0/24
...
等。
我只需要提取具有VLAN和子網的VRF。 例如從這個輸出,我應該有變量在每次迭代:
vrf -> vlan -> subnet (TEST -> 99 -> 172.16.0.0/24)
vrf -> vlan -> subnet (TEST -> 888 -> 172.16.1.0/24)
但我不從default vrf
需要的信息,因爲它沒有任何的VLAN。
我寫了一些正則表達式來找到這個信息:
vrf = re.findall(r'VRF "(.*)"', line)
vlan = re.findall(r'Vlan(\d+)', line)
subnet= re.findall(r'IP address.*subnet:\s(.*)$', line)
但我不知道怎麼不理,沒有VLAN的VRF的。
你想得到什麼樣的最終結果? – nicael
我需要在遍歷行時插入所有vrf和它們的vlan號碼和子網給mysql。 – Jegor