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:
  • Oh bravo, ogni volta che vedo usare le regex godo.

  • Per così poco? ;-)

  • Boh si, vedo colleghi impazzire per modificare grossi txt in ufficio quando due belle regex piazzate al momento giusto fanno concludere il lavoro in pochi minuti…
    Sono tanto potenti quanto sconosciute. :-|

  • Su questo non ci sono dubbi (così come sulla loro praticità in determinati momenti).