Notepad++: rimuovere le righe duplicate

Gioxx  —  15/03/2017 — 4 Comments

Notepad++: aggiungere testo a inizio e fine di ogni lineaHo avuto necessità di mettere mano a un file con voci duplicate, e rimuoverle per cercare di lavorare in maniera più pulita. Come al solito, ho cercato una soluzione da applicare tramite l’utilizzo di Notepad++, ottenendo ovviamente una risposta già utilizzata in passato. Un’espressione regolare, trovata in una discussione su Stack Overflow.

Senza necessità di evidenziare alcunché, ti basterà lanciare una sostituzione testo (CTRL+H), selezionando Espressione regolare, e inserendo nel campo sorgente ^(.*?)$\s+?^(?=.*^\1$), mentre dovrai lasciare vuoto il secondo campo (Sostituisci con). Appena fatto, fai clic su Sostituisci tutti ed il gioco sarà fatto.

Notepad++: rimuovere righe duplicate

Giusto per dettagliare meglio, cerco di riassumere quanto spiegato in originale:

  • ^ corrisponde all’inizio della riga.
  • (.*?) va a memorizzare progressivamente le righe trovate nel file, così da renderle disponibili in seguito per l’individuazione dei duplicati.
  • $ corrisponde al termine della riga.
  • \s+?^ questa parte corrisponde a tutti i caratteri di spaziatura (tipicamente nuove righe!) fino all’inizio della nuova riga (in pratica va a rimuovere le righe vuote che vengono lasciate dopo aver rimosso un duplicato).
  • (?=.*^\1$) è la parte di espressione regex che permette di rimuovere una riga quando questa è la stessa identica precedentemente rilevata in qualsiasi altro punto del file.

Buon lavoro! :-)

ATTENZIONE: Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :)

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!
Condividi l'articolo con i tuoi contatti: