基础使用
begin //表示从该字符开始匹配
exclude //表示匹配除后续字符之外的内容
include //表示只匹配含后续字符的语句
进阶使用
.
的使用
匹配任何一个字符,包括单个字符、特殊字符和空格
在使用匹配信息时,输入匹配两个以上字符,会提示不支持。
举例:
只显示出设备中配置的静态路由信息
通过上述命令会发现无法同时匹配两个字符,可以通过dis cu | include ip.route
来查看预期信息。
由此举一反三
dis cu | inc mac-address.blackhole
dis cu | inc arp.static
*
的使用
表示匹配*前面的字符或者字符组零次或者多次
|
的使用
替换,类似or的意思。
如果我们需要显示的信息非一行,如何对不同行内容进行不同匹配。
如上图,通过display version
命令可以得到大量回显内容,如果我们只需要显示版本信息及各版本的运行时间,可以通过dis version | include uptime|Software|Chassis|Uptime
快速得到有效信息。
举例2:
有时我们想快速知道设备上配置了多少三层接口以及ip地址。可能你想到了display interface brie
该命令非常好用,还能看到接口启用状态,但也存在缺陷,无法得知接口下是否配置了sub地址。
通过.
和|
的结合使用,dis cu | include interface.Vlan|ip.address
可以得到接口及接口下配置的所有ip。如果要匹配物理端口,同理添加interface.Gig|interface.Ten
即可,可以自己测试看看
^
的使用
表示强制匹配行首 举例1: 我们想查看7号板卡的端口状态信息。通过
display interface Ten-GigabitEthernet brief
可以发现还是会回显出7号板卡之外的其他板卡信息。
通过强制行首字符匹配,display interface Ten-GigabitEthernet brief | include ^XGE1/7
可以只查看7号板卡端口信息。
语法实践
dis logbuffer reverse | include .shutdown.|.warning.|.error.|.failed.
实际效果:
dis interface | include ^Ten|^Bri|^Gig|^Vlan|[1-9].input.errors|[1-9].output.errors
正则表达式语法速览
语法内容 | 语法效果 |
---|---|
dis cu | include ip.route | 查看配置的静态路由信息 |
dis cu | inc mac-address.blackhole | 查看黑洞mac配置清单 |
dis cu | inc arp.static | 查看静态arp表项 |
dis version | include uptime|Software|Chassis|Uptime | 查看版本信息及各板卡运行时长 |
dis cu | include interface.Vlan|interface.Gig|interface.Ten|ip.address | 查看接口及接口下ip |
display interface Ten-GigabitEthernet brief | include ^XGE1/7 | 查看指定板卡接口信息 |
dis logbuffer reverse | include .shutdown.|.warning.|.error.|.failed. | 查看日志中严重告警 |
dis interface | include ^Ten|^Bri|^Gig|^Vlan|[1-9].input.errors|[1-9].output.errors | 只显示带错误包的接口 |