交换机采用正则表达式实现管道符的过滤功能。并非所有display命令均支持指定过滤方式,一般只有显示信息较多的命令才支持。
如果显示信息较多,查看过滤后的配置信息时系统需要较长的时间才能获取正确的信息,因此需要用户等待一段时间。
使用正则表达式过滤命令行显示信息的方法有两种:
-
在命令中指定过滤方式:在命令行中通过输入
begin
、
exclude
或
include
关键字加正则表达式的方式来过滤显示。
-
在分屏显示时指定过滤方式:在分屏显示时,使用“/”、“-”或“+”符号加正则表达式的方式,可以对还未显示的信息进行过滤显示。其中,“/”等同关键字
begin
;“-”等同关键字
exclude
;“+”等同关键字
include
。
在命令中指定过滤方式
系统支持使用
| count
,显示使用过滤条件后输出的结果的行数。可以与过滤方式配合使用。
在支持正则表达式的命令中,有三种过滤方式可供选择:
-
| begin
regular-expression
:输出以匹配指定正则表达式的行开始的所有行。
即过滤掉所有待输出字符串,直到出现指定的字符串(此字符串区分大小写)为止,其后的所有字符串都会显示到界面上。
-
| exclude
regular-expression
:输出不匹配指定正则表达式的所有行。
即待输出的字符串中没有包含指定的字符串(此字符串区分大小写),则会显示到界面上;否则过滤不显示。
-
| include
regular-expression
:只输出匹配指定正则表达式的所有行。
即待输出的字符串中如果包含指定的字符串(此字符串区分大小写),则会显示到界面上;否则过滤不显示。
regular-expression
为字符串形式(不包括中文),长度范围是1~255。
对于某些输出信息较多的display命令,可以指定输出信息的过滤方式。
系统对命令的显示信息进行过滤后,还支持上下文显示规则。上下文显示规则有如下几种:
-
before
before-line-number
:输出符合过滤规则的行和其前面
before-line-number
行的数据信息。
-
after
after-line-number
:输出符合过滤规则的行和其后面
after-line-number
行的数据信息。
-
before
before-line-number
+
after
after-line-number
或者
after
after-line-number
+
before
before-line-number
:输出符合过滤规则的行和其前面
before-line-number
行、后面
after-line-number
行的数据信息。
before-line-number
和
after-line-number
参数均为整数形式,取值范围是1~999。
下面举例来说明在命令中指定过滤方式的用法。
例1:执行命令
display interface brief
,显示不匹配
“Ethernet”、
“NULL”
或“Tunnel”
的所有行。
<HUAWEI> display interface brief | exclude Ethernet| NULL | Tunnel
PHY: Physical
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
(b): BFD down
(e): ETHOAM down
(dl): DLDP down
(d): Dampening Suppressed
InUti/OutUti: input utility/output utility
Interface PHY Protocol InUti OutUti inErrors outErrors
Eth-Trunk1 down down 0% 0% 0 0
Eth-Trunk17 down down 0% 0% 0 0
LoopBack1 up up(s) 0% 0% 0 0
Vlanif1 up down -- -- 0 0
Vlanif2 down down -- -- 0 0
Vlanif10 down down -- -- 0 0
Vlanif12 down down -- -- 0 0
Vlanif13 down down -- -- 0 0
Vlanif20 up up -- -- 0 0
Vlanif22 down down -- -- 0 0
Vlanif222 down down -- -- 0 0
Vlanif4094 down down -- -- 0 0
例2:执行命令
display current-configuration
,只显示匹配正则表达式“vlan”的所有行。
<HUAWEI> display current-configuration | include vlan
vlan batch 2 10 101 to 102 800 1000
vlan 2
vlan 10
port trunk pvid vlan 800
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 10 101 800
undo port hybrid vlan 1
undo port hybrid vlan 1
port hybrid untagged vlan 10
undo port hybrid vlan 1
undo port hybrid vlan 1
例3:通过使用after,输出符合过滤规则的行和对应的数据信息(before用法相同)。
<HUAWEI> display ip routing-table | after 2 include 0.0.0.0
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 16 Routes : 16
Destination/Mask Proto Pre Cost Flags NextHop Interface
####### The information is filtered #######
10.3.0.0/16 Static 60 0 D 0.0.0.0 NULL0
10.8.0.0/16 Static 60 0 D 0.0.0.0 NULL0
10.18.20.0/24 Direct 0 0 D 10.18.20.254 Vlanif20
10.18.20.254/32 Direct 0 0 D 127.0.0.1 Vlanif20
####### The information is filtered #######
120.0.0.0/8 Static 60 0 RD 120.51.55.1 MEth0/0/1
120.51.55.0/24 Direct 0 0 D 120.51.55.44 MEth0/0/1
120.51.55.44/32 Direct 0 0 D 127.0.0.1 MEth0/0/1
以上举例的显示信息仅为示意,请以设备实际显示为准。
在分屏显示时指定过滤方式
支持在分屏显示时指定过滤方式的命令行有:
- display current-configuration
- display interface
- display arp
采用分屏显示时,可以在分屏提示符“---- More ----”中指定过滤类型:
/regular-expression:输出以匹配指定正则表达式的行开始的所有行。
-regular-expression:输出不匹配指定正则表达式的所有行。
+regular-expression:只输出匹配指定正则表达式的所有行。
例如:执行命令
display current-configuration,当分屏显示时,在余下的回显中仅显示Vlanif相关的信息。
<HUAWEI> display current-configuration
!Software Version V200R019C10
sysname HUAWEI
vlan batch 10 to 11 100
hotkey CTRL_G "display tcp status"
lldp enable
undo http server enable
undo http secure-server enable
dhcp enable
dhcp snooping enable
+Vlanif //输入过滤方式
Filtering...
interface Vlanif10
interface Vlanif100