Я не совсем уверен, как сформулировать свой вопрос, поэтому я приложу все усилия, чтобы продемонстрировать пример.
Возьмите эти данные
-------------------------------------------------
Port 0/1, port index, 4 devices total, 3 online
-------------------------------------------------
ID Info Last Seen
-------------------------------------------------
0 111 1m 3s ago
1 222 never seen
2 333 30s ago
14 444 2m 12s ago
-------------------------------------------------
ID Type Distance
-------------------------------------------------
0 aaa 322m
1 bbb -
2 ccc 932m
14 ddd 194m
-------------------------------------------------
-------------------------------------------------
Port 0/2, port index, 4 devices total, 4 online
-------------------------------------------------
ID Info Last Seen
-------------------------------------------------
23 555 3m 2s ago
24 666 23m 4s ago
51 777 23s ago
52 888 14m 22s ago
-------------------------------------------------
ID Type Distance
-------------------------------------------------
23 eeee 23m
24 ffff -
51 gggg 442m
52 hhhh 167m
-------------------------------------------------
Я не уверен, как соответствовать 2 таблицы, которые появляются под каждым портом при возврате его как отдельной записи в анализаторе textfsm. Самое большее, что у меня есть, - это получить последнюю запись (888 и ччхх) с этим шаблоном:
Value Filldown PORT (\d+\/\d+)
Value Required ID (\d+)
Value INFO (\w+)
Value LAST_SEEN (.*)
Value TYPE (\w+)
Value DISTANCE (\S+)
Start
^\s+Port\s+${PORT}.* -> Record
^\s+ID.*Last\s+Seen -> Table1
Table1
^\s+${ID}\s+${INFO}\s+${LAST_SEEN}
^\s+ID.*Distance -> Table2
Table2
^\s+${ID}\s+${TYPE}\s+${DISTANCE}
^\s+-+
^\s+Port\s+${PORT} -> Start
Данные, которые я получаю:
[
{
"DISTANCE": "167m",
"ID": "52",
"INFO": "888",
"LAST_SEEN": "14m 22s ago",
"PORT": "0/2",
"TYPE": "hhhh"
}
]
Я пытался изменить Несколько вещей, но я не могу понять, где мне следует искать, чтобы обеспечить запись каждой записи ...
Если бы кто-то мог указать мне правильное направление, я был бы чрезвычайно благодарен.