Шаблон nxos TextFSM - PullRequest
       12

Шаблон nxos TextFSM

0 голосов
/ 19 мая 2018

Я начал изучать TextFSM от Google, он отлично подходит для очистки экрана.Но я застрял.Вот шаблон для команды: "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

somereason не разбирает ключ и значения.

1 Ответ

0 голосов
/ 25 июня 2018

Есть несколько вещей, которые необходимо исправить:

  • Расширенные (в вашем шаблоне) и Расширенные (в ваших выходных данных)
  • В CLNAME есть цифры, которые не будут\ D +
  • \ s +: \ s + требует пробелов вокруг двоеточия, для которого выходные данные не имеют
  • Необходимо запомнить имя списка сообщества, так как может быть несколько строк действий дляк которому это относится.Используйте «Filldown».

Используя этот шаблон:

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 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...