UltKit

Rimuovere righe duplicate

Si incolla un elenco e ogni riga ripetuta dopo la sua prima comparsa viene eliminata, mentre le righe rimaste mantengono l'ordine originale. Il confronto può ignorare maiuscole e minuscole e gli spazi superflui, e tutto avviene nel browser.

0 caratteri · 0 parole · 0 righe

0 caratteri · 0 parole · 0 righe

Funziona interamente in questa scheda del browser. Il testo non viene mai caricato né salvato.

Cosa fa

Rimuovi righe duplicate mantiene la prima occorrenza di ogni riga ed elimina le ripetizioni successive senza modificare l'ordine originale. Il confronto può ignorare maiuscole/minuscole e spazi ai margini; le righe vuote possono essere mantenute o rimosse.

Prima
rosso
blu
Rosso
verde
Dopo
rosso
blu
verde

Chi elimina i duplicati dagli elenchi e perché

Le righe duplicate compaiono ogni volta che si uniscono degli elenchi. Chi fa marketing e combina due liste di email esportate, chi raccoglie parole chiave da più strumenti, chi mette insieme URL dai file di log, l'insegnante che incolla i nomi di tre moduli di iscrizione: ognuno si ritrova con voci che compaiono due o più volte. Anche i fogli di calcolo possono rimuovere i duplicati, ma bisogna aprire un file, selezionare una colonna e trovare il menu giusto; incollare in una casella di testo è più veloce quando i dati sono già negli appunti.

Mantenere l'ordine originale conta più di quanto sembri. Un elenco di passaggi, una classifica o degli URL nell'ordine di scansione perdono significato se vengono ordinati. Qui la prima occorrenza resta esattamente dov'era e le ripetizioni successive vengono semplicemente eliminate; un contatore indica quante righe sono state rimosse, così si può valutare se il risultato è plausibile.

Come funziona il confronto e le differenze invisibili

Ogni riga viene ridotta a una chiave di confronto e memorizzata in un insieme (set) mentre l'elenco viene letto dall'alto verso il basso; una riga la cui chiave è già presente nell'insieme è un duplicato. Basta un solo passaggio, quindi anche elenchi con centinaia di migliaia di righe vengono elaborati rapidamente. È diverso dal classico comando Unix uniq, che rimuove solo i duplicati su righe adiacenti e quindi di solito si esegue dopo sort, perdendo l'ordine originale. L'idioma awk awk '!seen[$0]++' fa ciò che fa questo strumento.

Due righe possono sembrare identiche e invece essere diverse. Uno spazio finale, una tabulazione al posto di uno spazio o uno spazio non separabile copiato da una pagina web fanno sì che il computer le consideri stringhe diverse. Attivare la rimozione degli spazi permette di ignorare quelli all'inizio e alla fine di ogni riga, compresi gli spazi non separabili. Disattivare la distinzione tra maiuscole e minuscole permette di trattare «Paris» e «paris» come la stessa voce; viene mantenuta la prima grafia incontrata. Le righe vuote si possono conservare, così i paragrafi restano separati, oppure eliminare del tutto.

Dopo la pulizia

Dopo aver eliminato i duplicati spesso serve anche ordinare l'elenco: Ordina righe può disporlo in ordine alfabetico, naturale o per lunghezza. Se l'elenco proviene da un PDF o da un'email con le righe spezzate, conviene sistemarle prima con gli altri strumenti di testo, perché una voce andata a capo su due righe non può corrispondere alla sua gemella intera.

Domande frequenti

Quale copia di una riga duplicata viene mantenuta?
La prima. Ogni riga successiva con lo stesso contenuto viene rimossa e le righe rimanenti restano nell'ordine originale, quindi nulla viene rimescolato.
Perché due righe che sembrano identiche non vengono rimosse?
Differiscono in modo invisibile, più spesso per uno spazio finale, una tabulazione o uno spazio non separabile. Attivare l'opzione di rimozione degli spazi oppure ignorare le maiuscole se cambia solo quelle.
In cosa differisce dal comando uniq?
uniq elimina una riga solo se ripete quella immediatamente sopra, per questo di solito si usa insieme a sort. Questo strumento trova le ripetizioni in qualsiasi punto del testo e mantiene l'ordine originale.
Si possono rimuovere i duplicati e ordinare l'elenco contemporaneamente?
Rimuovere qui i duplicati, poi incollare il risultato in Ordina righe. Procedere in due passaggi permette di mantenere l'ordine di prima comparsa quando serve e di ordinare solo quando lo si desidera.