如何从“CDP 邻居详细信息”的输出中检索某些字段?

如何从“CDP 邻居详细信息”的输出中检索某些字段?

我有一个包含CDP neighbors detail终端输出的文本文件,如下所示:

show cdp neighbors detail
-------------------------
Device ID: BIOTERIO
Entry address(es): 
  IP address: 000.000.00.000
Platform: cisco WS-C2950G-24-EI,  Capabilities: Switch IGMP 
Interface: GigabitEthernet1/0/6,  Port ID (outgoing port): GigabitEthernet0/1
Holdtime : 154 sec

Version :
Cisco Internetwork Operating System Software 
IOS (tm) C2950 Software (C2950-I6Q4L2-M), Version 12.1(14)EA1, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2003 by cisco Systems, Inc.
Compiled Tue 22-Jul-03 12:13 by antonino

advertisement version: 2
Protocol Hello:  OUI=0x00000C, Protocol ID=0x0112; payload len=27, value=00000000FFFFFFFF010221FF000000000000000B5FCA1E00FF0000
VTP Management Domain: ''
Duplex: full
Management address(es): 

-------------------------
 --More--         Device ID: N7K-LAN(JAF1651ANDL)
Entry address(es): 
  IP address: 000.000.0.000
Platform: N7K-C7010,  Capabilities: Router Switch IGMP 
Interface: GigabitEthernet1/0/1,  Port ID (outgoing port): Ethernet7/23
Holdtime : 166 sec

Version :
Cisco Nexus Operating System (NX-OS) Software, Version 7.2(2)D1(2)

advertisement version: 2
VTP Management Domain: 'NULL'
Native VLAN: 1
Duplex: full
Management address(es): 

-------------------------
Device ID: LAB_PESADO
Entry address(es): 
  IP address: 000.000.000.000
Platform: cisco WS-C2960-48TC-S,  Capabilities: Switch IGMP 
Interface: GigabitEthernet1/0/11,  Port ID (outgoing port): GigabitEthernet0/1
Holdtime : 149 sec
 --More--         
Version :
Cisco IOS Software, C2960 Software (C2960-LANLITEK9-M), Version 12.2(50)SE5, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Tue 28-Sep-10 13:44 by prod_rel_team

advertisement version: 2
Protocol Hello:  OUI=0x00000C, Protocol ID=0x0112; payload len=27, value=00000000FFFFFFFF010221FF00000000000018339DBD9200FF0000
VTP Management Domain: ''
Native VLAN: 1
Duplex: full
Management address(es): 
  IP address: 000.000.000.000

-------------------------
Device ID: Arquitectura_Salones
Entry address(es): 
  IP address: 000.000.000.00
Platform: cisco WS-C2960S-48TS-S,  Capabilities: Switch IGMP 
Interface: GigabitEthernet1/0/9,  Port ID (outgoing port): GigabitEthernet0/49
 --More--         Holdtime : 129 sec

Version :
Cisco IOS Software, C2960S Software (C2960S-UNIVERSALK9-M), Version 12.2(55)SE2, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2011 by Cisco Systems, Inc.
Compiled Tue 11-Jan-11 02:23 by prod_rel_team

advertisement version: 2
Protocol Hello:  OUI=0x00000C, Protocol ID=0x0112; payload len=27, value=00000000FFFFFFFF010221FF000000000000E8BA7096A280FF0000
VTP Management Domain: ''
Native VLAN: 1
Duplex: full
Management address(es): 
  IP address: 000.000.000.00

-------------------------
Device ID: CIVIL_253
Entry address(es): 
  IP address: 000.000.000.000
Platform: cisco WS-C2960S-48TS-L,  Capabilities: Switch IGMP 
 --More--         Interface: GigabitEthernet1/0/4,  Port ID (outgoing port): GigabitEthernet1/0/52
Holdtime : 164 sec

Version :
Cisco IOS Software, C2960S Software (C2960S-UNIVERSALK9-M), Version 12.2(55)SE7, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2013 by Cisco Systems, Inc.
Compiled Mon 28-Jan-13 10:28 by prod_rel_team

advertisement version: 2
Protocol Hello:  OUI=0x00000C, Protocol ID=0x0112; payload len=27, value=00000000FFFFFFFF010221FF000000000000F41FC2105480FF0000
VTP Management Domain: ''
Native VLAN: 1
Duplex: full
Management address(es): 
  IP address: 000.000.000.000

-------------------------
Device ID: Arquitectura
Entry address(es): 
  IP address: 148.228.134.253
 --More--         Platform: cisco WS-C2960-48TC-L,  Capabilities: Switch IGMP 
Interface: GigabitEthernet1/0/3,  Port ID (outgoing port): GigabitEthernet0/1
Holdtime : 122 sec

Version :
Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(35)SE5, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Thu 19-Jul-07 20:06 by nachen

advertisement version: 2
Protocol Hello:  OUI=0x00000C, Protocol ID=0x0112; payload len=27, value=00000000FFFFFFFF010221FF0000000000000023AC7A0080FF0000
VTP Management Domain: ''
Native VLAN: 1
Duplex: full
Management address(es): 
  IP address: 000.000.000.000

-------------------------
Device ID: ING_CIVIL_DIR
Entry address(es): 
  IP address: 000.000.0.000
 --More--         Platform: cisco WS-C3524-XL,  Capabilities: Trans-Bridge Switch 
Interface: GigabitEthernet1/0/10,  Port ID (outgoing port): GigabitEthernet0/2
Holdtime : 156 sec

Version :
Cisco Internetwork Operating System Software 
IOS (tm) C3500XL Software (C3500XL-C3H2S-M), Version 12.0(5.3)WC(1), MAINTENANCE INTERIM SOFTWARE
Copyright (c) 1986-2001 by cisco Systems, Inc.
Compiled Mon 30-Apr-01 07:51 by devgoyal

advertisement version: 2
Protocol Hello:  OUI=0x00000C, Protocol ID=0x0112; payload len=27, value=00000000FFFFFFFF010121FF0000000000000006D779C000FF0001
VTP Management Domain: ''
Native VLAN: 1
Duplex: full
Management address(es): 

-------------------------
Device ID: ING_CIVIL
Entry address(es): 
  IP address: 000.000.000.000
 --More--         Platform: cisco WS-C2960-24TC-L,  Capabilities: Switch IGMP 
Interface: GigabitEthernet1/0/7,  Port ID (outgoing port): GigabitEthernet0/2
Holdtime : 170 sec

Version :
Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 12.2(44)SE6, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2009 by Cisco Systems, Inc.
Compiled Mon 09-Mar-09 18:10 by gereddy

advertisement version: 2
Protocol Hello:  OUI=0x00000C, Protocol ID=0x0112; payload len=27, value=00000000FFFFFFFF010221FF0000000000003CDF1ED25100FF0000
VTP Management Domain: ''
Native VLAN: 1
Duplex: full
Management address(es): 
  IP address: 000.000.000.000

-------------------------
Device ID: Ingenieria_Posgrado
Entry address(es): 
  IP address: 148.228.137.253
 --More--         Platform: cisco WS-C2960-24TC-L,  Capabilities: Switch IGMP 
Interface: GigabitEthernet1/0/8,  Port ID (outgoing port): GigabitEthernet0/1
Holdtime : 141 sec

Version :
Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(25)SEE3, RELEASE SOFTWARE (fc2)
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Thu 22-Feb-07 13:57 by myl

advertisement version: 2
Protocol Hello:  OUI=0x00000C, Protocol ID=0x0112; payload len=27, value=00000000FFFFFFFF010221FF000000000000001CF9AA5200FF0000
VTP Management Domain: ''
Native VLAN: 1
Duplex: full
Management address(es): 
  IP address: 000.000.000.000

-------------------------
Device ID: Biblio_Barragan
Entry address(es): 
  IP address: 000.000.000.00
 --More--         Platform: cisco WS-C2960-24PC-L,  Capabilities: Switch IGMP 
Interface: GigabitEthernet1/0/2,  Port ID (outgoing port): GigabitEthernet0/1
Holdtime : 172 sec

Version :
Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 12.2(50)SE5, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Tue 28-Sep-10 13:44 by prod_rel_team

advertisement version: 2
Protocol Hello:  OUI=0x00000C, Protocol ID=0x0112; payload len=27, value=00000000FFFFFFFF010221FF0000000000001CAA07C15900FF0000
VTP Management Domain: 'NULL'
Native VLAN: 1
Duplex: full
Management address(es): 
  IP address: 000.000.000.00

-------------------------
Device ID: Electronica_Edif_3
Entry address(es): 
 --More--           IP address: 000.000.000.000
Platform: cisco WS-C2960-48TC-L,  Capabilities: Switch IGMP 
Interface: GigabitEthernet1/0/5,  Port ID (outgoing port): GigabitEthernet0/1
Holdtime : 145 sec

Version :
Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(35)SE5, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Thu 19-Jul-07 20:06 by nachen

advertisement version: 2
Protocol Hello:  OUI=0x00000C, Protocol ID=0x0112; payload len=27, value=00000000FFFFFFFF010221FF000000000000002305468B00FF0000
VTP Management Domain: ''
Native VLAN: 1
Duplex: full
Management address(es): 
  IP address: 000.000.000.000

Barragan_3750>exit
Connection closed by foreign host.
]0;cesar@cesar-HP-Pavilion-15-NoteBook-PC: ~cesar@cesar-HP-Pavilion-15-NoteBook-PC:~$ 

我想过滤每个设备的以下字段:设备ID、IP地址、接口、端口ID(出站端口)

我曾尝试(但没有成功)每次出现“设备 ID”一词时进行搜索并保存,直到“端口 ID”出现,以获得如下文件:

Device ID: BIOTERIO
Entry address(es): 
  IP address: 000.000.00.000
Platform: cisco WS-C2950G-24-EI,  Capabilities: Switch IGMP 
Interface: GigabitEthernet1/0/6,  Port ID (outgoing port): GigabitEthernet0/1

-------------------------
Device ID: N7K-LAN(JAF1651ANDL)
Entry address(es): 
  IP address: 000.000.0.000
Platform: N7K-C7010,  Capabilities: Router Switch IGMP 
Interface: GigabitEthernet1/0/1,  Port ID (outgoing port): Ethernet7/23

-------------------------
Device ID: LAB_PESADO
Entry address(es): 
  IP address: 000.000.000.000
Platform: cisco WS-C2960-48TC-S,  Capabilities: Switch IGMP 
Interface: GigabitEthernet1/0/11,  Port ID (outgoing port): GigabitEthernet0/1

-------------------------
Device ID: Arquitectura_Salones
Entry address(es): 
  IP address: 000.000.000.00
Platform: cisco WS-C2960S-48TS-S,  Capabilities: Switch IGMP 
Interface: GigabitEthernet1/0/9,  Port ID (outgoing port): GigabitEthernet0/49

-------------------------
Device ID: CIVIL_253
Entry address(es): 
  IP address: 000.000.000.000
Platform: cisco WS-C2960S-48TS-L,  Capabilities: Switch IGMP 
 --More--         Interface: GigabitEthernet1/0/4,  Port ID (outgoing port): GigabitEthernet1/0/52

-------------------------
Device ID: Arquitectura
Entry address(es): 
  IP address: 000.000.000.000
 --More--         Platform: cisco WS-C2960-48TC-L,  Capabilities: Switch IGMP 
Interface: GigabitEthernet1/0/3,  Port ID (outgoing port): GigabitEthernet0/1

-------------------------
Device ID: ING_CIVIL_DIR
Entry address(es): 
  IP address: 000.000.0.000
 --More--         Platform: cisco WS-C3524-XL,  Capabilities: Trans-Bridge Switch 
Interface: GigabitEthernet1/0/10,  Port ID (outgoing port): GigabitEthernet0/2

-------------------------
Device ID: ING_CIVIL
Entry address(es): 
  IP address: 000.000.000.000
 --More--         Platform: cisco WS-C2960-24TC-L,  Capabilities: Switch IGMP 
Interface: GigabitEthernet1/0/7,  Port ID (outgoing port): GigabitEthernet0/2

-------------------------
Device ID: Ingenieria_Posgrado
Entry address(es): 
  IP address: 000.000.000.000
 --More--         Platform: cisco WS-C2960-24TC-L,  Capabilities: Switch IGMP 
Interface: GigabitEthernet1/0/8,  Port ID (outgoing port): GigabitEthernet0/1

-------------------------
Device ID: Biblio_Barragan
Entry address(es): 
  IP address: 000.000.000.00
 --More--         Platform: cisco WS-C2960-24PC-L,  Capabilities: Switch IGMP 
Interface: GigabitEthernet1/0/2,  Port ID (outgoing port): GigabitEthernet0/1

-------------------------
Device ID: Electronica_Edif_3
Entry address(es): 
 --More--           IP address: 000.000.000.000
Platform: cisco WS-C2960-48TC-L,  Capabilities: Switch IGMP 
Interface: GigabitEthernet1/0/5,  Port ID (outgoing port): GigabitEthernet0/1

-------------------------

你能帮我解决这个问题吗?

或者

您知道获取该信息的更好方法吗?

答案1

这将打印与您要查找的字段匹配的任何行:

awk '/Device ID|IP address|Interface|Port ID/ { print }' /path/to/input

grep您可以使用、sed和其他类似工具完成同样的事情。

你甚至可以变得更奇特一点:

grep -Eo '(Device ID|IP address|Interface|Port ID): [^ ]+' /path/to/input

答案2

你可以选择使用egrep代替awk吗?

egrep "Device|IP\ address|Interface|Port\ ID" input-file.txt

答案3

如果它不是一个很多 GB 的日志文件,

 perl -0ne 'for( /Device ID.*?Port ID.*?\n/sg ){ print "-"x 20,"\n$_\n"}' file

相关内容