Sto cercando di modificare un documento di 20000 righe. Devo rimuovere ogni riga dispari, ad esempio:
Apple
Monkey
Orange
Lion
fruit
animal
Come posso rimuovere i caratteri di ogni riga dispari nel documento?
Sto cercando di modificare un documento di 20000 righe. Devo rimuovere ogni riga dispari, ad esempio:
Apple
Monkey
Orange
Lion
fruit
animal
Come posso rimuovere i caratteri di ogni riga dispari nel documento?
Risposte:
Puoi farlo con trova e sostituisci:
.+\r\n(.+(\r\n|$))
$1
Gli appunti:
\r
(vecchio Mac), \n
(Unix, OS X) o \r\n
(Windows) per abbinare la fine della linea, o semplicemente usare quello \R
che dovrebbe funzionare ovunque (grazie per @Aurel Bílý)\n|$
è necessario per ottenere il risultato corretto anche alla fine del file\r
la fine della linea è molto rara: è stata effettivamente utilizzata in Mac OS, ma le versioni classiche pre-OS-X. In OS X e successivi, le terminazioni di linea sono \n
, come qualsiasi Unix sano di mente. Inoltre \R
è meglio per abbinare qualsiasi fine linea.
.+\R(.+)
$1
Spiegazione:
.+ : 1 or more any character but newline
\R : any kind of linebreak (ie. \r, \n, \r\n)
( : start group 1
.+ : 1 or more any character but newline
) : end group 1
. matches newline
Risultato per un esempio dato:
Monkey
Lion
animal
\n
)
Fondamentalmente eseguire l'azione una volta per rimuovere una riga dispari, quindi ottenere il programma per ripetere l'azione fino alla fine del file. Questo può essere usato per risolvere molti problemi!