{"id":2555,"date":"2024-11-15T09:56:48","date_gmt":"2024-11-15T08:56:48","guid":{"rendered":"http:\/\/clark.tipistrani.it\/?p=2555"},"modified":"2024-11-15T10:05:24","modified_gmt":"2024-11-15T09:05:24","slug":"cancellazione-di-stringhe-multiple-allinterno-di-un-file-di-testo","status":"publish","type":"post","link":"http:\/\/clark.tipistrani.it\/?p=2555","title":{"rendered":"Cancellazione di stringhe multiple all&#8217;interno di un file di testo"},"content":{"rendered":"<p>Per necessit\u00e0 aziendali dopo molti anni sono stato obbligato a inserire delle <a href=\"https:\/\/it.wikipedia.org\/wiki\/VLAN\">VLAN<\/a> sugli switch e di questo parler\u00f2 in altra occasione, il primo passo per la creazione \u00e8 stato capire chi fosse collegato dove e l&#8217;unico modo che non prevedesse il seguire i cavi dalla sorgente allo switch \u00e8 stato interrogare gli switch con il comando:<br \/>\n#show mac address-table vlan 1<\/p>\n<p>che ha restituito un elenco pazzesco di risultati del tipo:<\/p>\n<p>Aging time is 300 Sec<\/p>\n<p>Vlan Mac Address Type Port<br \/>\n&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n1 0001.2979.27F1 Dynamic Te1\/0\/3<br \/>\n1 0001.29AE.DADB Dynamic Te1\/0\/3<br \/>\n1 0004.24B3.663C Dynamic Te1\/0\/2<br \/>\n1 0004.24B3.663F Dynamic Te1\/0\/1<br \/>\n1 0010.F3A4.C002 Dynamic Te1\/0\/3<br \/>\n1 0011.6301.0807 Dynamic Te1\/0\/4<br \/>\n1 0011.6301.2B89 Dynamic Te1\/0\/4<br \/>\n1 0012.CD03.213C Dynamic Te1\/0\/4<br \/>\n1 0012.CD04.3621 Dynamic Te1\/0\/3<br \/>\n1 0012.CD05.F7FD Dynamic Te1\/0\/1<br \/>\n1 0012.CD09.E1F9 Dynamic Te1\/0\/3<br \/>\n1 0012.CD11.9262 Dynamic Te1\/0\/1<br \/>\n1 0012.CD12.A879 Dynamic Te1\/0\/3<br \/>\n1 0012.CD12.B9B5 Dynamic Te1\/0\/3<br \/>\n1 0012.CD20.7BAD Dynamic Te1\/0\/1<br \/>\n1 0012.CD20.7BAE Dynamic Te1\/0\/1<br \/>\n1 0016.3E5A.D2F5 Dynamic Gi1\/0\/47<br \/>\n1 0016.3EAE.A65D Dynamic Gi1\/0\/39<br \/>\n1 0016.3EB8.6E0C Dynamic Gi1\/0\/47<\/p>\n<p>quindi si \u00e8 trattato di andare a leggere i mac e appaiarli al proprio IP\u00a0 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&#8217; venuto in aiuto.<\/p>\n<p>Dato l&#8217;elenco arp-condor.txt che contiene il tutto con:<\/p>\n<p>sed \u00a0&#8220;\/Te1\/d&#8221; \/home\/guenzi\/subnet\/arp-condor.txt \/home\/clark\/subnet\/arp-condor.txt &gt; condor-giga.txt\u00a0 ho ottenuto l&#8217;elenco delle sole porte Gi<\/p>\n<p>Aging time is 300 Sec<\/p>\n<p>Vlan Mac Address Type Port<br \/>\n&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n1 0016.3E5A.D2F5 Dynamic Gi1\/0\/47<br \/>\n1 0016.3EAE.A65D Dynamic Gi1\/0\/39<br \/>\n1 0016.3EB8.6E0C Dynamic Gi1\/0\/47<br \/>\n1 0016.3ED4.B365 Dynamic Gi1\/0\/39<br \/>\n1 0016.3EFB.0001 Dynamic Gi1\/0\/47<br \/>\n1 0016.3EFB.0200 Dynamic Gi1\/0\/39<br \/>\n1 0016.3EFB.1007 Dynamic Gi1\/0\/47<br \/>\n1 0016.3EFB.AA00 Dynamic Gi1\/0\/39<\/p>\n<p>In poche parole comando sed &#8220;stringa da cancellare&#8221; path assoluto del file &gt; nome nuovo file<\/p>\n<p>Ma nel caso in cui non servisse un nuovo file il comando diventa:<\/p>\n<p>sed -i &#8220;\/Te1\/0\/d&#8221; \/home\/clark\/subnet\/arp-condor.txt<\/p>\n<p>cio\u00e8 comando sed &#8220;stringa da cancellare&#8221; path assoluto del file<\/p>\n<p>e il risultato \u00e8 quello\u00a0 sopra esposto senza creare un altro file<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Per necessit\u00e0 aziendali dopo molti anni sono stato obbligato a inserire delle VLAN sugli switch e di questo parler\u00f2 in altra occasione, il primo passo per la creazione \u00e8 stato capire chi fosse collegato dove e l&#8217;unico modo che non prevedesse il seguire i cavi dalla sorgente allo switch \u00e8 stato interrogare gli switch con [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,7,6],"tags":[123,155,293],"class_list":["post-2555","post","type-post","status-publish","format-standard","hentry","category-linux","category-sistemi-operativi","category-work","tag-bash","tag-sed","tag-sostituzione"],"_links":{"self":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/2555","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2555"}],"version-history":[{"count":3,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/2555\/revisions"}],"predecessor-version":[{"id":2560,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/2555\/revisions\/2560"}],"wp:attachment":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2555"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2555"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}