我已经开始通过谷歌浏览TextFSM,它非常适合屏幕抓取。但是我被卡住了。 以下是该命令的模板:" show ip community-list"
Value TYPE (Standard|Extended)
Value CLNAME (\D+)
Value SEQ (\d+)
Value ACTION (permit|deny)
Value ASNUM (\d+)
Value TAGNUM (\d+)
Start
^${TYPE}\s+Community\s+List\s+${CLNAME}\s+ -> Community
Community
^\s+${SEQ}\s+${ACTION}\s+${ASNUM}\s+:\s+${TAGNUM}\s+ -> Record Start
原始输出如下:
Expanded Community List ROUTES_CL1
1 permit "11111:10000"
Standard Community List ROUTES_CL2
1 permit 11111:10000
2 permit 22222:10000
3 permit 33333:10000
某些原因并未解析关键和价值观。
答案 0 :(得分:0)
有几件事需要解决:
使用此模板:
Value Filldown TYPE (Standard|Extended|Expanded)
Value Filldown CLNAME (\w+)
Value SEQ (\d+)
Value ACTION (permit|deny)
Value ASNUM (\d+)
Value TAGNUM (\d+)
Start
^${TYPE}\s+Community\s+List\s+${CLNAME}
^\s*${SEQ}\s+${ACTION}\s+"?${ASNUM}:${TAGNUM}"? -> Next.Record
EOF
将给出以下内容的解析输出:
[['Expanded', 'ROUTES_CL1', '1', 'permit', '11111', '10000'],
['Standard', 'ROUTES_CL2', '1', 'permit', '11111', '10000'],
['Standard', 'ROUTES_CL2', '2', 'permit', '22222', '10000'],
['Standard', 'ROUTES_CL2', '3', 'permit', '33333', '10000']]
在textfsm wiki上可以找到类似的示例,其中有进一步的说明。