[思科 IOS-XE] [4507R+E]
如何使用正则表达式在“sh int description”命令中排除没有描述的接口?
找不到任何相关/以前的问题。
[思科 IOS-XE] [4507R+E]
如何使用正则表达式在“sh int description”命令中排除没有描述的接口?
找不到任何相关/以前的问题。
首先,您应该在您的设备上启用 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]
现有答案过滤描述列中的字符,因此它们还会删除任何页眉或页脚行 - 这可能不是我们所希望的。
我手头没有合适的设备进行测试,但您实际要求的是过滤掉包含up或down位于行尾的行:
show interface description |grep -v (up|down)$
尾随空格也可以由grep -v (up|down)\s*$.
您还可以跳到名称列并在那里查找任何字符:
show interface description |grep ^.{55}[a-zA-Z0-9]