
🗑 Come rimuovere le righe duplicate in Notepad++: 3 metodi
Duplicate in log, export CSV e file di configurazione: un grattacapo familiare a chiunque abbia mai analizzato manualmente un dump di database da 500 megabyte. Apri un file e metà delle righe sono ripetute. Cancellarle a mano è una causa persa quando hai migliaia di righe.
Notepad++ risolve il problema in pochi secondi. L'editor offre tre metodi: da una funzione integrata che richiede due clic alle espressioni regolari per scenari complessi. Scegli quello più adatto al tuo compito.
💡 Panoramica rapida:
- Metodo 1, funzione integrata: Modifica → Operazioni sulle righe → Rimuovi righe duplicate. Due clic, funziona con v7.6+, 64 bit.
- Metodo 2, espressione regolare: rimuove i duplicati senza ordinare, preservando l'ordine delle righe. Altamente personalizzabile.
- Metodo 3, plugin TextFX: un classico, ma solo per la versione a 32 bit. Per i 64 bit esiste un fork chiamato TextFX2.
Metodo 1: funzione integrata di Notepad++
Il metodo più semplice e veloce. È stato introdotto nella versione 7.6 e funziona in tutte le build moderne, inclusa l'attuale v8.9.6. Nessun plugin richiesto, tutto funziona out of the box.
Apri un file in Notepad++, seleziona tutto il contenuto (Ctrl + A) e vai su Modifica → Operazioni sulle righe → Rimuovi righe duplicate. Fatto, tutte le righe ripetute vengono rimosse, restano solo quelle univoche.
C'è anche Rimuovi righe duplicate consecutive, che elimina solo i duplicati che compaiono in sequenza senza toccare righe identiche altrove nel file. Utile per pulire i log dove le ripetizioni si accumulano a blocchi.
Nota: la funzione rimuove TUTTI i duplicati, mantenendo solo la prima occorrenza di ogni riga. Se il tuo file contiene ripetizioni significative (ad esempio, parentesi di chiusura identiche in JSON o XML), questo metodo non è adatto. In tal caso, vedi il metodo 2 con regex.
Metodo 2: trova e sostituisci con espressione regolare
Un'espressione regolare ti dà il pieno controllo. A differenza della funzione integrata, ti permette di rimuovere i duplicati senza pre-ordinare: le righe restano nel loro ordine originale mentre le ripetizioni spariscono.
Apri la finestra di ricerca (Ctrl + H), passa alla scheda Sostituisci e compila i campi:
Campo | Valore |
|---|---|
Trova |
|
Sostituisci con | (lascia vuoto) |
Modalità di ricerca | Espressione regolare |
. corrisponde a newline | Deseleziona |
Clicca Sostituisci tutto. Notepad++ esaminerà l'intero file, troverà le righe che si ripetono più avanti e le cancellerà. Di conseguenza, per ogni insieme di duplicati rimane solo l'ultima occorrenza.
Come funziona: ^(.*?)$ cattura una riga nel primo gruppo, \s+? salta gli spazi bianchi tra le righe e (?=.*^\1$) è un lookahead positivo che verifica se questa stessa riga (\1) compare più avanti nel file. Se è così, l'occorrenza corrente viene cancellata.
Il vantaggio della regex è che puoi adattare il pattern. Ad esempio, aggiungi ^ all'inizio della cattura se hai bisogno di una corrispondenza esatta dall'inizio della riga, oppure sostituisci \s+? con \r?\n per ancorarti strettamente alle interruzioni di riga.
Metodo 3: plugin TextFX
Un metodo classico che esiste da anni. TextFX era un plugin standard nelle vecchie build a 32 bit di Notepad++. La situazione è cambiata: il TextFX originale è incompatibile con la versione a 64 bit a partire dalla v8.4 ed è stato rimosso dalla distribuzione standard.
Se usi Notepad++ a 32 bit, installa il plugin tramite Plugin → Gestore Plugin → Mostra Gestore Plugin → Disponibili → TextFX → Installa. Dopo l'installazione, nel menu compare una sezione TextFX → TextFX Tools.

Assicurati che la casella Sort lines case sensitive sia selezionata (o case insensitive, a tua scelta). Seleziona il testo (Ctrl + A) e clicca Sort lines case sensitive. Il plugin ordinerà le righe, mettendo i duplicati uno accanto all'altro. Dopodiché, Modifica → Operazioni sulle righe → Rimuovi righe duplicate consecutive rimuoverà le ripetizioni.
Per la versione a 64 bit, esiste un fork moderno chiamato TextFX2. È disponibile su GitHub (rainman74/NPPTextFX2) e si installa manualmente: scarica la DLL, inseriscila nella cartella plugins\NPPTextFX2 all'interno della directory di Notepad++ e riavvia l'editor. La funzionalità è la stessa: ordinamento, rimozione dei duplicati, conversione maiuscole/minuscole.
Se l'attività è una tantum e non vuoi installare un plugin, il metodo 1 è più che sufficiente.
⁉️🤔 Domande frequenti
Perché Notepad++ non rimuove tutti i duplicati?
Molto probabilmente, le righe non sono identiche a livello di byte. Verifica la presenza di caratteri invisibili: spazi finali, tabulazioni al posto degli spazi, differenze tra maiuscole e minuscole. Attiva Visualizza → Mostra simboli → Mostra tutti i caratteri per vedere cosa rende diverse le righe.
Come rimuovo i duplicati SENZA distinzione tra maiuscole e minuscole?
La funzione integrata Rimuovi righe duplicate distingue tra maiuscole e minuscole: "WordPress" e "wordpress" sono righe diverse. Per rimuovere i duplicati senza distinzione, converti prima il testo in un unico formato tramite Modifica → Converti maiuscole/minuscole in → Minuscolo (o Maiuscolo), poi esegui Rimuovi righe duplicate. In alternativa, usa il metodo 2 con il flag regex
(?i)all'inizio del pattern.
Posso rimuovere i duplicati in più file contemporaneamente?
Notepad++ non supporta la ricerca e sostituzione multi-file con regex tramite la sua interfaccia standard. Tuttavia, puoi usare Trova nei file (Ctrl + Shift + F) per trovare righe tramite regex in tutti i file di una cartella. Per la sostituzione in batch su più file, uno script Python o PowerShell è più comodo: leggi il file, applica la regex, sovrascrivi. In alternativa, usa il plugin Python Script per Notepad++ con uno script personalizzato.
Cosa è più veloce su un file grande, la funzione integrata o la regex?
La funzione integrata Rimuovi righe duplicate è sensibilmente più veloce su file oltre i 50 MB, poiché è codice nativo C++ anziché un motore di espressioni regolari. Il metodo regex inizia a rallentare significativamente su centinaia di migliaia di righe a causa dei controlli lookahead. Per fare un confronto: su un file CSV con 200.000 righe, la funzione integrata completa in 2-3 secondi, mentre la regex impiega 15-20 secondi.
Ho rimosso i duplicati; come annullo se qualcosa è andato storto?
Ctrl + Z annulla l'ultima operazione. Se hai chiuso il file senza salvare, semplicemente non salvare le modifiche all'uscita. In ogni caso, prima di fare modifiche massive, copia il file originale in una cartella adiacente: ci vuole un secondo, fa risparmiare ore.
Quale metodo scegliere per il tuo compito
Se devi pulire rapidamente log o CSV dalle ripetizioni, usa la funzione integrata (metodo 1). Due clic, risultato immediato, nessun plugin. Questa è la scelta predefinita per la stragrande maggioranza degli scenari. Il risultato è visibile subito senza passaggi aggiuntivi.
La regex (metodo 2) è per quando l'ordine originale delle righe è importante o hai bisogno di regolazioni fini: rimuovere i duplicati solo in un frammento selezionato, ignorare maiuscole/minuscole, gestire ripetizioni annidate. Più potente, ma richiede la comprensione della sintassi.
TextFX (metodo 3) è solo se usi la versione a 32 bit e sei abituato a questo flusso di lavoro. Per i 64 bit c'è TextFX2, ma con la funzione integrata ora disponibile, il plugin è diventato quasi obsoleto.
Prova subito la funzione integrata su un qualsiasi file di testo con ripetizioni. Ci vorranno 5 secondi.



