2016-02-11 23 views
7

Ho più indirizzi e-mail. Devo trovare ed eliminare tutto (incluso quello trovato). E 'possibile in notepad ++?Trova duplicati ed elimina tutto nel blocco note ++

esempio: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected],

ho bisogno di risultati indietro come

[email protected], [email protected], [email protected], [email protected], [email protected], [email protected],

Come fare in Notepad ++?

+0

È possibile trovarli e sostituirli tutti con una stringa vuota, eliminandoli tutti, quindi reinserire manualmente una riga. – personjerry

+0

Possibile duplicato di [Rimozione di righe duplicate in Notepad ++] (http://stackoverflow.com/ questions/3958350/remove-duplicate-rows-in-notepad) – AdrianHHH

+0

@AdrianHHH Quel thread duplicato sta parlando di lasciarlo single se trovi le righe duplicate. Ma il mio caso ho bisogno di eliminare tutte le righe duplicate se ne trovi. – James123

risposta

1

È necessario il plug-in textFX. Poi, basta seguire queste istruzioni:

Paste the text into Notepad++ (CTRL+V). ... 
Mark all the text (CTRL+A). ... 
Click TextFX → Click TextFX Tools → Click Sort lines case insensitive (at column) 
Duplicates and blank lines have been removed and the data has been sorted alphabetically. 

Personalmente, vorrei utilizzare sorta -i fonte u> dest invece di Notepad ++

18

Se è possibile cambiare la sequenza delle linee che si potrebbe fare :

  1. linea di sorta con Edit -> operazioni di linea -> Ordina Linee lessicografico ascendente
  2. fare un Trova/Sostituisci:
    • Trova:^(.*\r?\n)\1+
    • Sostituire con: (Niente, lascia vuoto)
    • check Regular Expression in basso a sinistra
    • clic su Sostituisci tutto

Come funziona: l'ordinamento mette i duplicati uno dietro l'altro. Il trova corrisponde a una riga ^(.*\r?\n) e acquisisce la riga in \1 quindi continua e tenta di trovare \1 una o più volte (+) dietro la prima corrispondenza. Tale blocco di duplicati (se esiste) viene sostituito con nulla.

Il \r?\n deve essere eseguito correttamente con i moduli Windows e Unix.

0

Si potrebbe utilizzare

Clicca TextFX → Click TextFX Strumenti → fare clic su Linee Ordina case insensitive (a colonna) duplicati e le righe vuote sono stati rimossi e i dati sono stati ordinati in ordine alfabetico.

come indicato sopra.Tuttavia, il modo in cui l'ho fatto perché ho bisogno di sostituire i duplicati da righe vuote e non solo rimuovere le linee, una volta in ordine alfabetico:

REPLACE: 
((^.*$)(\n))(?=\k<1>) 

by 

$3 

Questo convertirà:

Shorts 
Shorts 
Shorts 
Shorts 
Shorts 
Shorts Two Pack 
Shorts Two Pack 
Signature Braces 
Signature Braces 
Signature Cotton Trousers 
Signature Cotton Trousers 
Signature Cotton Trousers 
Signature Cotton Trousers 
Signature Cotton Trousers 
Signature Cotton Trousers 
Signature Cotton Trousers 
Signature Cotton Trousers 
Signature Cotton Trousers 
Signature Cotton Trousers 
Signature Cotton Trousers 

a:

Shorts 

Shorts Two Pack 

Signature Braces 










Signature Cotton Trousers 

Ecco come l'ho fatto perché avevo proprio bisogno di quelle linee.

+0

Hai letto la domanda? – Toto