Concetti generali sulle espressioni regolari
Una espressione regolare (regular expression, regexp, regex) è una sequenza di simboli che identifica un insieme di stringhe. Programmi diversi supportano notazioni diverse per esprimere le stesse espressioni regolari, pertanto non esiste una sintassi "universale".Le espressioni regolari sono generalmente usate per definire linguaggi regolari, tuttavia permettono di definire anche linguaggi non regolari. I linguaggi regolari sono i linguaggi generati da grammatiche di tipo 3 (nella gerarchia di Chomsky) e riconosciuti da automi a stati finiti.Le regex in Cisco vengono trattate come segue:
Qui di seguito alcuni esempi:
Per verificare esattamente un indirizzo IP utilizzare la barra rovesciata (\) prima del punto (.) Per rimuovere il significato speciale del punto (.) Carattere e il carattere di sottolineatura (_) per controllare lo spazio prima / dopo l'indirizzo IP. Ad esempio, per trovare l'indirizzo IP 10.0.0.1 nella configurazione in esecuzione, utilizzare il comando
Per verificare esattamente un indirizzo IP utilizzare la barra rovesciata (\) prima del punto (.) Per rimuovere il significato speciale del punto (.) Carattere e il carattere di sottolineatura (_) per controllare lo spazio prima / dopo l'indirizzo IP. Ad esempio, per trovare l'indirizzo IP 10.0.0.1 nella configurazione in esecuzione, utilizzare il comando
show run | i _10\.0\.0\.1_
e non il comando (che visualizzerà 10.0.0.1, 110.0.0.1, 10.1.1.11, …)
show run | i 10.0.0.1
Per vedere le rotte VRF:
sh ip route vrf *
e eliminare le righe:
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
utilizzare la regex (valido quando la linea contiene 1 numero 1 punto oppure la parola "Routing") :
sh ip route vrf * | i (([0-9]\.)|Routing)
Per visualizzare le interfacce ‘administratively down’ nel module #1 (questo vale quando le righe iniziano con il carattere ‘F’ seguito da ‘t1/’ e conterrà la stringa ‘administr’:
sh ip inter brie | i ^F.*t1/.*administr
Per vedere le entry CDP:
sh cdp entry *
e per visualizzare solo il nome del device e l'indirizzo IP (valido se le righe iniziano con la stringa ‘Device’ oppure continene la stringa ‘IP address’:
sh cdp entry * | i (^Device|IP address)
Per cercare un mac address che inizia con ‘001f':
sh mac-address-table | i ^001f\.
oppure per cercare un mac address che finisce con ’000a':
sh mac-address-table | i (.*)\.(.*)\.000a
Per visualizzare le interfacce ‘administratively down’ nel module #1 (questo vale quando le righe iniziano con il carattere ‘F’ seguito da ‘t1/’ e conterrà la stringa ‘administr’:
sh ip inter brie | i ^F.*t1/.*administr
Per vedere le entry CDP:
sh cdp entry *
e per visualizzare solo il nome del device e l'indirizzo IP (valido se le righe iniziano con la stringa ‘Device’ oppure continene la stringa ‘IP address’:
sh cdp entry * | i (^Device|IP address)
Per cercare un mac address che inizia con ‘001f':
sh mac-address-table | i ^001f\.
oppure per cercare un mac address che finisce con ’000a':
sh mac-address-table | i (.*)\.(.*)\.000a
Qui di seguito alcuni esempi di Regex applicabili al comando ‘show’:
show run | i _10\.0\.0\.1_ sh ip inter brie | i ^F.*t1/.*administr sh mac-address-table | i ^c800\. sh mac-address-table | i (.*)\.(.*)\.0000
show run | i _10\.0\.0\.1_ sh ip inter brie | i ^F.*t1/.*administr sh mac-address-table | i ^c800\. sh mac-address-table | i (.*)\.(.*)\.0000

Nessun commento:
Posta un commento