J'essaie d'éditer un document de 20000 lignes. Je dois supprimer toutes les lignes impaires, par exemple:
Apple
Monkey
Orange
Lion
fruit
animal
Comment supprimer tous les caractères des lignes impaires du document?
J'essaie d'éditer un document de 20000 lignes. Je dois supprimer toutes les lignes impaires, par exemple:
Apple
Monkey
Orange
Lion
fruit
animal
Comment supprimer tous les caractères des lignes impaires du document?
Réponses:
Vous pouvez le faire avec rechercher et remplacer:
.+\r\n(.+(\r\n|$))
$1
Remarques:
\r
(ancien Mac), \n
(Unix, OS X) ou \r\n
(Windows) pour correspondre à la fin de la ligne, ou simplement utiliser \R
ce qui devrait fonctionner partout (merci pour @Aurel Bílý)\n|$
est nécessaire pour avoir un résultat correct même à la fin du fichier\r
fin de ligne est très rare - elle était en effet utilisée sous Mac OS, mais dans les versions classiques pré-OS-X. Sous OS X et suivants, les fins de ligne sont \n
, comme tout Unix sain d'esprit. Est également \R
préférable pour faire correspondre n'importe quelle fin de ligne.
.+\R(.+)
$1
Explication:
.+ : 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
Résultat pour un exemple donné:
Monkey
Lion
animal
\n
)
Fondamentalement, effectuez l'action une fois pour supprimer une ligne impaire, puis demandez au programme de répéter l'action jusqu'à la fin du fichier. Cela peut être utilisé pour résoudre de nombreux problèmes!