2

I've got a text file that contains CDP neighbors detail terminal output that looks like this:

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:~$ 

I want to filter the following fields of each device: Device ID, IP address, Interface, Port ID (outgoing port)

I have tried (without success)to search every time the word "Device ID" appears and save until "Port ID" appears to get a file like this:

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

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

Could you help me with this?

or

Do you know a better way to catch that information?

4

This will print any line that has a match for the fields you're looking for:

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

You could accomplish the same thing with grep, sed, and other similar tools.

You can even get a little more fancy:

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

Do you have the option to use egrep instead of awk?

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

If it is not a many gigabytes log file,

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.