如何使用正则表达式在“sh int description”命令中排除没有描述的接口?

网络工程 思科 ios-xe
2022-02-21 08:50:49

[思科 IOS-XE] [4507R+E]

如何使用正则表达式在“sh int description”命令中排除没有描述的接口?

找不到任何相关/以前的问题。

3个回答

首先,您应该在您的设备上启用 shell 处理,或者通过terminal shell用于当前会话测试或通过使用永久启用它:

#conf t
(config)#shell processing full
(config)#end
#wr
Building configuration...
[OK]

现在您可以使用 Linux 命令,例如 grep。您可以使用man grep查看该功能的手册说明。show shell functions将为您提供设备上可用功能的完整概述。

grep 可以得到你想要的信息。我的show interface desc样子:

#sh int desc
Interface                      Status         Protocol Description
Vl1                            admin down     down
Vl3                            up             up       SW_MGMT
Gi0/0                          down           down
Te1/0/1                        up             up       X10 Po11
Te1/0/2                        up             up       X10 Po12
Te1/0/3                        up             up       X11 Po13
Te1/0/4                        up             up       X11 Po14
Te1/0/5                        up             up       X12 Po15
Te1/0/6                        up             up       X13 Po16
Te1/0/7                        up             up       X13 Po17
Te1/0/8                        up             up       X14 Po18
Te1/0/9                        up             up       X15 Po19
Te1/0/10                       up             up       X15 Po20
Te1/0/11                       up             up       X16 Po21
Te1/0/12                       up             up       X21 Po22
Te1/0/13                       up             up       X21 Po23
Te1/0/14                       up             up       X22 Po24
Te1/0/15                       down           down
Te1/0/16                       down           down
Te1/0/17                       up             up       X24 Po27
Te1/0/18                       up             up       X25 Po28
Te1/0/19                       up             up       X25 Po29
Te1/0/20                       up             up       X26 Po30
Te1/0/21                       down           down     X27 Po31
Te1/0/22                       up             up       X31 Po32
Te1/0/23                       up             up       X31 Po33
Te1/0/24                       up             up       X33 Po34
Te1/1/1                        up             up       X34 Po35
Te1/1/2                        up             up       X35 Po36
Te1/1/3                        up             up       X35 Po37
Te1/1/4                        up             up       X36 Po38
Te1/1/5                        up             up       HX HotSpot Po39
Te1/1/6                        up             up       X23 Po43
Te1/1/7                        up             up       HX 6509 Po1
Te1/1/8                        up             up       X23 Po44
Fo1/1/1                        down           down
Fo1/1/2                        down           down
Te2/0/1                        up             up       X10 Po11
Te2/0/2                        up             up       X10 Po12
Te2/0/3                        up             up       X11 Po13
Te2/0/4                        up             up       X11 Po14
Te2/0/5                        up             up       X12 Po15
Te2/0/6                        up             up       X13 Po16
Te2/0/7                        up             up       X13 Po17
Te2/0/8                        up             up       X14 Po18
Te2/0/9                        up             up       X15 Po19
Te2/0/10                       up             up       X15 Po20
Te2/0/11                       up             up       X16 Po21
Te2/0/12                       up             up       X21 Po22
Te2/0/13                       up             up       X21 Po23
Te2/0/14                       up             up       X22 Po24
Te2/0/15                       down           down
Te2/0/16                       down           down     X23 Po26
Te2/0/17                       up             up       X24 Po27
Te2/0/18                       up             up       X25 Po28
Te2/0/19                       up             up       X25 Po29
Te2/0/20                       up             up       X26 Po30
Te2/0/21                       down           down     X27 Po31
Te2/0/22                       up             up       X31 Po32
Te2/0/23                       up             up       X31 Po33
Te2/0/24                       up             up       X33 Po34
Te2/1/1                        up             up       X34 Po35
Te2/1/2                        up             up       X35 Po36
Te2/1/3                        up             up       X35 Po37
Te2/1/4                        up             up       X36 Po38
Te2/1/5                        up             up       HX HotSpot Po39
Te2/1/6                        up             up       X23 Po43
Te2/1/7                        up             up       HX 6509 Po1
Te2/1/8                        up             up       X23 Po44
Fo2/1/1                        down           down
Fo2/1/2                        down           down
Po1                            up             up       Uplink
Po11                           up             up
Po12                           up             up
Po13                           up             up
Po14                           up             up
Po15                           up             up
Po16                           up             up
Po17                           up             up
Po18                           up             up
Po19                           up             up
Po20                           up             up
Po21                           up             up
Po22                           up             up
Po23                           up             up
Po24                           up             up
Po27                           up             up
Po28                           up             up
Po29                           up             up
Po30                           up             up
Po31                           down           down
Po32                           up             up
Po33                           up             up
Po34                           up             up
Po35                           up             up
Po36                           up             up
Po37                           up             up
Po38                           up             up
Po39                           up             up
Po40                           down           down
Po42                           down           down
Po43                           up             up       X23 Ny
Po44                           up             up       X23 Ny

现在我使用 grep 通过正则表达式获取我想要的任何内容:

#sh int desc | grep [updown].......[a-zA-Z0-9] | grep -v admin
Interface                      Status         Protocol Description
Vl3                            up             up       SW_MGMT
Te1/0/1                        up             up       X10 Po11
Te1/0/2                        up             up       X10 Po12
Te1/0/3                        up             up       X11 Po13
Te1/0/4                        up             up       X11 Po14
Te1/0/5                        up             up       X12 Po15
Te1/0/6                        up             up       X13 Po16
Te1/0/7                        up             up       X13 Po17
Te1/0/8                        up             up       X14 Po18
Te1/0/9                        up             up       X15 Po19
Te1/0/10                       up             up       X15 Po20
Te1/0/11                       up             up       X16 Po21
Te1/0/12                       up             up       X21 Po22
Te1/0/13                       up             up       X21 Po23
Te1/0/14                       up             up       X22 Po24
Te1/0/17                       up             up       X24 Po27
Te1/0/18                       up             up       X25 Po28
Te1/0/19                       up             up       X25 Po29
Te1/0/20                       up             up       X26 Po30
Te1/0/21                       down           down     X27 Po31
Te1/0/22                       up             up       X31 Po32
Te1/0/23                       up             up       X31 Po33
Te1/0/24                       up             up       X33 Po34
Te1/1/1                        up             up       X34 Po35
Te1/1/2                        up             up       X35 Po36
Te1/1/3                        up             up       X35 Po37
Te1/1/4                        up             up       X36 Po38
Te1/1/5                        up             up       HX HotSpot Po39
Te1/1/6                        up             up       X23 Po43
Te1/1/7                        up             up       HX 6509 Po1
Te1/1/8                        up             up       X23 Po44
Te2/0/1                        up             up       X10 Po11
Te2/0/2                        up             up       X10 Po12
Te2/0/3                        up             up       X11 Po13
Te2/0/4                        up             up       X11 Po14
Te2/0/5                        up             up       X12 Po15
Te2/0/6                        up             up       X13 Po16
Te2/0/7                        up             up       X13 Po17
Te2/0/8                        up             up       X14 Po18
Te2/0/9                        up             up       X15 Po19
Te2/0/10                       up             up       X15 Po20
Te2/0/11                       up             up       X16 Po21
Te2/0/12                       up             up       X21 Po22
Te2/0/13                       up             up       X21 Po23
Te2/0/14                       up             up       X22 Po24
Te2/0/16                       down           down     X23 Po26
Te2/0/17                       up             up       X24 Po27
Te2/0/18                       up             up       X25 Po28
Te2/0/19                       up             up       X25 Po29
Te2/0/20                       up             up       X26 Po30
Te2/0/21                       down           down     X27 Po31
Te2/0/22                       up             up       X31 Po32
Te2/0/23                       up             up       X31 Po33
Te2/0/24                       up             up       X33 Po34
Te2/1/1                        up             up       X34 Po35
Te2/1/2                        up             up       X35 Po36
Te2/1/3                        up             up       X35 Po37
Te2/1/4                        up             up       X36 Po38
Te2/1/5                        up             up       HX HotSpot Po39
Te2/1/6                        up             up       X23 Po43
Te2/1/7                        up             up       HX 6509 Po1
Te2/1/8                        up             up       X23 Po44
Po1                            up             up       Uplink
Po43                           up             up       X23 Ny
Po44                           up             up       X23 Ny

首先我告诉它找到任何向上或向下的东西。然后我告诉它最大空格是 7,后跟任何字符或数字。最后一个 grep 将删除所有管理员关闭界面。

如果您想在没有外壳处理的情况下执行此操作(例如 TCL 无法访问),您可以使用以下命令执行此操作:

show interfaces description | include down[ ]+down[ ]+[A-Za-z0-9]|up[ ]+up[ ]+[A-Za-z0-9]

现有答案过滤描述列中的字符,因此它们还会删除任何页眉或页脚行 - 这可能不是我们所希望的。

我手头没有合适的设备进行测试,但您实际要求的是过滤掉包含updown位于行尾的行:

show interface description |grep -v (up|down)$

尾随空格也可以由grep -v (up|down)\s*$.

您还可以跳到名称列并在那里查找任何字符:

show interface description |grep ^.{55}[a-zA-Z0-9]