Clark's Home page

Tecnicismi vari di un Sysadmin Linux ma anche qualcosa della sua vita

Cancellazione di stringhe multiple all’interno di un file di testo —

Per necessità aziendali dopo molti anni sono stato obbligato a inserire delle VLAN sugli switch e di questo parlerò in altra occasione, il primo passo per la creazione è stato capire chi fosse collegato dove e l’unico modo che non prevedesse il seguire i cavi dalla sorgente allo switch è stato interrogare gli switch con il comando:
#show mac address-table vlan 1

che ha restituito un elenco pazzesco di risultati del tipo:

Aging time is 300 Sec

Vlan Mac Address Type Port
——– ——————— ———– ———————
1 0001.2979.27F1 Dynamic Te1/0/3
1 0001.29AE.DADB Dynamic Te1/0/3
1 0004.24B3.663C Dynamic Te1/0/2
1 0004.24B3.663F Dynamic Te1/0/1
1 0010.F3A4.C002 Dynamic Te1/0/3
1 0011.6301.0807 Dynamic Te1/0/4
1 0011.6301.2B89 Dynamic Te1/0/4
1 0012.CD03.213C Dynamic Te1/0/4
1 0012.CD04.3621 Dynamic Te1/0/3
1 0012.CD05.F7FD Dynamic Te1/0/1
1 0012.CD09.E1F9 Dynamic Te1/0/3
1 0012.CD11.9262 Dynamic Te1/0/1
1 0012.CD12.A879 Dynamic Te1/0/3
1 0012.CD12.B9B5 Dynamic Te1/0/3
1 0012.CD20.7BAD Dynamic Te1/0/1
1 0012.CD20.7BAE Dynamic Te1/0/1
1 0016.3E5A.D2F5 Dynamic Gi1/0/47
1 0016.3EAE.A65D Dynamic Gi1/0/39
1 0016.3EB8.6E0C Dynamic Gi1/0/47

quindi si è trattato di andare a leggere i mac e appaiarli al proprio IP  in LAN, le porte attive sono quelle Gi1/x ma di Te1 ce ne sono un numero molto maggiore, visto che andare a leggersi i mac fitti come sono fa andare assieme la vista ho pensato che togliere i Te1 sarebbe stata un ottima idea e il comando sed mi e’ venuto in aiuto.

Dato l’elenco arp-condor.txt che contiene il tutto con:

sed  “/Te1/d” /home/guenzi/subnet/arp-condor.txt /home/clark/subnet/arp-condor.txt > condor-giga.txt  ho ottenuto l’elenco delle sole porte Gi

Aging time is 300 Sec

Vlan Mac Address Type Port
——– ——————— ———– ———————
1 0016.3E5A.D2F5 Dynamic Gi1/0/47
1 0016.3EAE.A65D Dynamic Gi1/0/39
1 0016.3EB8.6E0C Dynamic Gi1/0/47
1 0016.3ED4.B365 Dynamic Gi1/0/39
1 0016.3EFB.0001 Dynamic Gi1/0/47
1 0016.3EFB.0200 Dynamic Gi1/0/39
1 0016.3EFB.1007 Dynamic Gi1/0/47
1 0016.3EFB.AA00 Dynamic Gi1/0/39

In poche parole comando sed “stringa da cancellare” path assoluto del file > nome nuovo file

Ma nel caso in cui non servisse un nuovo file il comando diventa:

sed -i “/Te1/0/d” /home/clark/subnet/arp-condor.txt

cioè comando sed “stringa da cancellare” path assoluto del file

e il risultato è quello  sopra esposto senza creare un altro file


Categorised as: Linux | Sistemi operativi | Work

Comments are disabled on this post


Comments are closed.


Hide picture