今天我们带大家写个正则表达式,解析一下我们的网络运维数据。写的时候我会分成两种风格:
one take
分而治之分别对应网络配置中的两种常见的形式。
今天的分享,我们先讲one take,也就是一次完成提取。【林志炫的专辑:)】。
网络设备配置(show 出来的,包含config和status)的解析有些是适合一次过的,比如show mac,arp,interface brief等很多信息在一行中的。我们只要写好一个正则,很多信息都可以一次获取解析出来。这种最大的特点就是一行包含一条信息。
我们登陆devnet提供的一台虚拟的N9K设备,执行命令show int brief如下
讲下我的思路,写一个正则,能提取端口信息的每个字段信息,然后把整个log用换行切割开,for循环,提取每行内的端口信息,有就追加到一个端口列表中,没有继续下一行。直到循环结束,我们就可以拿到所有端口的信息了。
下面我们开始写正则。其实从show出来的log里我们也能知道我们需提取那些字段,比如端口名,vlan,类型,模式,状态以及状态的原因,速率,所属的p