Rimozione di righe duplicate in Notepad ++

È ansible rimuovere le righe duplicate in Notepad ++, lasciando solo una singola occorrenza di una riga?

Notepad ++ può eseguire questa operazione, a condizione che si desideri ordinare per riga e rimuovere contemporaneamente le righe duplicate.

Avrai bisogno del plugin TextFX. Questo è stato incluso nelle versioni precedenti di Notepad ++, ma se si dispone di una versione più recente, è ansible aggiungerla dal menu selezionando Plugins -> Plugin Manager -> Show Plugin Manager -> Available tab -> TextFX -> Install . In alcuni casi può anche essere chiamato TextFX Characters , ma questa è la stessa cosa

Le caselle di controllo e i pulsanti richiesti verranno ora visualizzati nel menu sotto: TextFX -> TextFX Tools .

Assicurati che “sort sort only only unique …” sia selezionato. Quindi, selezionare un blocco di testo ( Ctrl + A per selezionare l’intero documento). Infine, fai clic su “ordina linee maiuscole / minuscole” o “Ordina righe senza distinzione maiuscole / minuscole”

layout di menu in n ++

Dal momento che Notepad ++ Versione 6 è ansible utilizzare questo regex nel dialogo Cerca e sostituisci:

 ^(.*?)$\s+?^(?=.*^\1$) 

e sostituire con niente . Questo lascia da tutte le righe duplicate l’ultima occorrenza nel file.

Non è necessario alcun ordinamento per questo e le righe duplicate possono trovarsi ovunque nel file!

È necessario selezionare le opzioni “Espressione regolare” e “. Corrisponde a nuova riga”:

Blocco note ++ Sostituisci dialogo

  • ^ corrisponde all’inizio della linea.

  • (.*?) corrisponde a qualsiasi carattere 0 o più volte, ma il meno ansible (corrisponde esattamente alla riga, questo è necessario a causa dell’opzione “. corrisponde a nuova riga”). La riga abbinata è memorizzata, a causa delle parentesi intorno e accessibile usando \1

  • $ corrisponde alla fine della riga.

  • \s+?^ questa parte corrisponde a tutti i caratteri dello spazio bianco (newlines!) fino all’inizio della riga successiva ==> Ciò rimuove le nuove righe dopo la riga matchd, in modo che nessuna riga vuota sia presente dopo la sostituzione.

  • (?=.*^\1$) questa è un’affermazione positiva. Questa è la parte importante in questa regex, una riga viene solo abbinata (e rimossa), quando c’è esattamente la stessa riga che segue da qualche altra parte nel file.

se le file sono immediatamente una dopo l’altra, è ansible utilizzare una sostituzione regolare

Pattern di ricerca: ^(.*\r?\n)(\1)+

Sostituisci con: \1

Se non ti interessa l’ordine delle righe (che non credo tu faccia), allora puoi usare una macchina Linux / FreeBSD / MacOSX / Cygwin e fare:

 $ cat yourfile | sort | uniq > yourfile_nodups 

Quindi apri nuovamente il file in Notepad ++.

Notepad ++

-> Sostituisci finestra

Assicurati che nella modalità di ricerca

hai selezionato il pulsante di opzione Espressione regolare

Trovare cosa:

^ (. *) (\ R? \ N \ 1) + $

Sostituirlo con:

$ 1

prima:

e pensiamo lì

e pensiamo lì

linea singola

È ansible

È ansible

dopo:

e pensiamo lì

linea singola

È ansible

Le ultime versioni di Notepad ++ non includono affatto il plugin TextFX. Per utilizzare il plugin per l’ordinamento / eliminazione dei duplicati, il plugin deve essere scaricato e installato (più coinvolto) o aggiunto utilizzando il gestore plugin.

A) Modo semplice (come descritto qui ).

Plugin -> Plugin Manager -> Show Plugin Manager -> scheda Disponibile -> Caratteri TextFX -> Installa

B) Modo più coinvolto, se è necessaria un’altra versione o il modo più semplice non funziona.

  1. Scarica il plugin da SourceForge:

    http://downloads.sourceforge.net/project/npp-plugins/TextFX/TextFX%20v0.26/TextFX.v0.26.unicode.bin.zip

  2. Apri il file zip ed estrai NppTextFX.dll

  3. Inserire NppTextFX.dll nella directory dei plugin Notepad ++, ad esempio:
    C: \ Programmi \ Notepad ++ \ plugins

  4. Avvia Notepad ++ e TextFX sarà una delle voci del menu file (come mostrato nella risposta n. 1 di Colin Pickard)

Dopo aver installato il plugin TextFX, segui le istruzioni nella risposta n. 1 per ordinare e rimuovere i duplicati.

Inoltre, considera l’impostazione di una scorciatoia da tastiera usando Impostazioni> Mapper Shorcut se usi frequentemente questo comando o vuoi replicare una scorciatoia da tastiera, come F9 in TextPad per l’ordinamento.

Nessuno ha funzionato per me.

Una soluzione è:

Sostituire

 ^(.*)\s+(\r?\n\1\s+)+$ 

con

 \1 

Fonte: http://sortedinf.com/?q=remove-duplicate-rows-in-notepad-plus-plus

Cerca l’espressione regolare: \b(\w+)\b([\w\W]*)\b\1\b

Sostituirlo con: $1$2

Premi il pulsante Sostituisci fino a quando non ci sono più corrispondenze per l’espressione regolare nel tuo file.

Il Plugin Manager non è attualmente disponibile (non viene fornito con la distribuzione) per Notepad ++, devi installarlo manualmente ( https://github.com/bruderstein/nppPluginManager/releases ) e anche se lo fai, molti plugin non sono disponibili più (no TextFX) plugin.

Forse c’è un altro plugin che contiene la funzionalità richiesta. A parte questo, l’unico modo per farlo in NotePad ++ è usare alcune regex speciali per la corrispondenza e quindi la sostituzione ( CTRL + F -> Sostituisci scheda).

Sebbene ci siano molte funzionalità disponibili tramite la voce di menu Modifica (ritaglio, rimozione di righe vuote, ordinamento, conversione EOL) non è disponibile alcuna operazione “unica”.

Io ho Windows 10, quindi puoi abilitare Bash (basta digitare Ubuntu in Microsoft Store e seguire le istruzioni nella Descrizione per installarlo) e usare cat your_file.txt | sort | uniq > your_file_edited.txt cat your_file.txt | sort | uniq > your_file_edited.txt cat your_file.txt | sort | uniq > your_file_edited.txt . Naturalmente devi essere nella stessa directory di lavoro di “tuo_file.txt” o fare riferimento ad esso tramite il suo percorso.

Potrebbe essere necessario un plugin per farlo. Puoi provare la riga di comando cc.ddl (cancella le righe duplicate) di ConyEdit . È un plugin per editor di testo per gli editor di testo, incluso Notepad ++.

Con ConyEdit in esecuzione in background, procedi nel seguente modo:

  1. inserisci la riga di comando cc.ddl alla fine del testo.
  2. copia il testo e la riga di comando.
  3. incolla, poi vedrai quello che vuoi.

Esempio
inserisci la descrizione dell'immagine qui