содержание expect_out(buffer)
соответствие шаблону и обработка данных в ожидании?
GigabitEthernet1/0/9 unassigned YES unset up up
GigabitEthernet1/0/10 unassigned YES unset down down
GigabitEthernet1/0/11 unassigned YES unset down down
GigabitEthernet1/0/23 unassigned YES unset down down
GigabitEthernet1/0/24 unassigned YES unset down down
GigabitEthernet1/1/1 unassigned YES unset down down
GigabitEthernet1/1/2 unassigned YES unset down down
GigabitEthernet1/1/3 unassigned YES unset down down
GigabitEthernet1/1/4 unassigned YES unset down down
Te1/1/1 unassigned YES unset down down
Te1/1/2 unassigned YES unset down down
FastEthernet2/0/1 unassigned YES unset down down
FastEthernet2/0/2 unassigned YES unset down down
FastEthernet2/0/24 unassigned YES unset down down
GigabitEthernet2/0/1 unassigned YES unset up up
GigabitEthernet2/0/2 unassigned YES unset down down
У меня есть данные foloowing выше, и мне нужно подсчитать количество данных для каждого типа , так что я могу иметь информацию, как:
GigabitEthernet1 : 20
GigabitEthernet2 : 20
Tel : 2
FastEthernet2 : 4
FastEthernet1 : 4
всего: 50
Как я могу это сделать? Любая помощь будет оценена по достоинству, потому что я не знаю, в каком направлении двигаться дальше, потому что я новичок, насколько это ожидалось/tcl.
Я попытался использовать функцию разделения для ее синтаксического анализа с использованием новой строки в качестве разделителя, так что я могу использовать регулярное выражение внутри цикла, но кажется, что поскольку $ expect_output (buffer) является переменной, он может не иметь никаких строк в нем.
Кроме того, я могу использовать awk или sed внутри, ожидая, тогда это будет не так сложно, я думаю. Но ожидаемое решение будет стандартным.
Почему 'GigabitEthernet2: 20'? Я вижу только два из них на вашем входе. – Kent
жаль, что данные были большими, поэтому я взял его, я просто дал это как пример – munish