的内容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
我有上面的以下数据,我需要计算每种类型的数据数量,以便我可以获得如下信息:
GigabitEthernet1 : 20
GigabitEthernet2 : 20
Tel : 2
FastEthernet2 : 4
FastEthernet1 : 4
总数:50
我该怎么做?任何帮助将不胜感激,因为我不知道该朝哪个方向前进,因为就 expect/tcl 而言,我是新手。
我尝试使用 split 函数通过使用换行符作为分隔符来解析它,以便我可以在 for 循环中使用正则表达式,但似乎因为 $expect_output(buffer) 是一个变量,它可能没有任何行。
此外,我可以在 expect 中使用 awk 或 sed,那么我猜它不会那么困难。但预期的解决方案将是标准的。