所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级
E600 V200R010C00 配置指南-基础配置

本文档介绍了如何使用命令行接口、如何登录设备,以及文件操作、系统启动等功能的配置。

评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
使用正则表达式过滤命令行显示信息

使用正则表达式过滤命令行显示信息

执行display命令查看设备配置或状态信息时,有些命令的输出信息较多,可以使用正则表达式来选择需要显示的内容,过滤掉不需要的内容。

正则表达式

正则表达式(regular-expression)是一种模式匹配工具,用户根据一定的规则构建匹配模式,然后将匹配模式与目标对象进行匹配。正则表达式格式上是由1~256个普通字符和特殊字符组成的字符串。

  • 普通字符

    普通字符匹配的对象是普通字符本身。包括所有的大写和小写字母、数字、下划线、标点符号以及一些特殊符号。例如:a匹配abc中的a,20匹配20.1.1.1中的20,@匹配xxx@xxx.com中的@。

  • 特殊字符

    为帮助用户灵活地构建匹配模式,正则表达式提供了一些具有特殊含义的专用字符,也称为“元字符”(metacharacter),用来规定其它字符在目标对象中的出现模式。表1-4是对特殊字符及其语法意义的使用描述。

    表1-4  特殊字符及其语法意义描述

    特殊字符

    功能

    举例

    \

    转义字符。将下一个字符(特殊字符或者普通字符)标记为普通字符。

    \*匹配*

    ^

    匹配行首的位置。

    ^10匹配10.10.10.1,不匹配20.10.10.1

    $

    匹配行尾的位置。

    1$匹配10.10.10.1,不匹配10.10.10.2

    *

    匹配前面的子正则表达式零次或多次。

    10*可以匹配1、10、100、1000、……

    (10)*可以匹配空、10、1010、101010、……

    +

    匹配前面的子正则表达式一次或多次。

    10+可以匹配10、100、1000、……

    (10)+可以匹配10、1010、101010、……

    ?

    匹配前面的子正则表达式零次或一次。

    说明:

    当前,在华为公司数据通信设备上运用正则表达式输入?时,系统显示为命令行帮助功能。华为公司数据通信设备不支持正则表达式输入?特殊字符。

    10?可以匹配1或者10

    (10)?可以匹配空或者10

    .

    匹配任意单个字符。

    0.0可以匹配0x0、020、……

    .oo.可以匹配book、look、tool、……

    ()

    一对圆括号内的正则表达式作为一个子正则表达式,匹配子表达式并获取这一匹配。圆括号内也可以为空。

    100(200)+可以匹配100200、100200200、……

    x|y

    匹配x或y。

    100|200匹配100或者200

    1(2|3)4匹配124或者134,而不匹配1234、14、1224、1334

    [xyz]

    匹配正则表达式中包含的任意一个字符。

    [123]匹配255中的2

    [^xyz]

    匹配正则表达式中未包含的字符。

    [^123]匹配除123之外的任何字符

    [a-z]

    匹配正则表达式指定范围内的任意字符。

    [0-9]匹配0到9之间的所有数字

    [^a-z]

    匹配正则表达式指定范围外的任意字符。

    [^0-9]匹配所有非数字字符

    最简单的正则表达式不包含任何特殊字符,例如,可以定义一个正则表达式“hello”,它只匹配字符串“hello”。实际应用中,往往是由多个普通字符和特殊字符组合使用,匹配某些特征的字符串。

  • 特殊字符的退化

    某些特殊字符如果处在如下的正则表达式的特殊位置时,会引起退化,成为普通字符。

    • 特殊字符处在转义符号‘\’之后,则发生转义,变为匹配该字符本身。

    • 特殊字符“*”、“+”、“?”,处于正则表达式的第一个字符位置。例如:+45匹配+45,abc(*def)匹配abc*def。

    • 特殊字符“^”,不在正则表达式的第一个字符位置。例如:abc^匹配abc^。

    • 特殊字符“$”,不在正则表达式的最后一个字符位置。例如:12$2匹配12$2。

    • 右括号“)”或者“]”没有对应的左括号“(”或“[”。例:abc)匹配abc),0-9]匹配0-9]。

    说明:

    除非特别说明,特殊字符的退化也适用于括号“()”内包含的子正则表达式。

正则表达式的使用方法

使用正则表达式过滤命令行显示信息的方法有两种:
  • 在命令中指定过滤方式:在命令行中通过输入beginexcludeinclude关键字加正则表达式的方式来过滤显示。
  • 在分屏显示时指定过滤方式:在分屏显示时,使用“/”、“-”或“+”符号加正则表达式的方式,可以对还未显示的信息进行过滤显示。其中,“/”等同关键字begin;“-”等同关键字exclude;“+”等同关键字include

在命令中指定过滤方式

在支持正则表达式的命令中,有三种过滤方式可供选择:

  • | 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-numberafter-line-number参数均为整数形式,取值范围是1~999。

下面举例来说明在命令中指定过滤方式的用法。

例1:执行命令display interface brief,显示不匹配“NULL”的所有行。

<HUAWEI> display interface brief | exclude NULL
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
说明:

以上举例的显示信息仅为示意,请以设备实际显示为准。

在分屏显示时指定过滤方式

支持在分屏显示时指定过滤方式的命令行有:
  • display current-configuration
  • display interface
  • display arp

采用分屏显示时,可以在分屏提示符“---- More ----”中指定过滤类型:

  • /regular-expression:输出以匹配指定正则表达式的行开始的所有行。

  • -regular-expression:输出不匹配指定正则表达式的所有行。

  • +regular-expression:只输出匹配指定正则表达式的所有行。

例如:执行命令display current-configuration,当分屏显示时,在余下的回显中仅显示Vlanif相关的信息。
<HUAWEI> display current-configuration
!Software Version V200R010C00
#
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
下载文档
更新时间:2018-10-24

文档编号:EDOC1000141359

浏览量:22767

下载量:49

平均得分:
本文档适用于这些产品

相关版本

相关文档

Share
上一页 下一页