8 votes

Comment réorganiser les colonnes de texte délimitées par des pipes dans Notepad++ ?

Je suis en train de repositionner chaque ligne dans un fichier .txt de la manière suivante ci-dessous. Cependant, je n'ai aucune idée de comment m'y prendre. Est-ce possible avec Notepad++?

De
pomme|pomme123@aol.com|orange
céleri|céleri@aol.com|chou
sandwich|sandwich@aol.com|dinde

À
pomme|orange|pomme123@aol.com
céleri|chou|céleri@aol.com
sandwich|dinde|sandwich@aol.com

15voto

bertieb Points 6989

Réordonnance des colonnes dans un fichier texte

Oui, c'est possible avec Notepad++, bien qu'il existe aussi des plugins qui le font. Une approche meilleure (plus robuste) pourrait être d'utiliser des outils de traitement de texte en ligne de commande, mais si vous avez besoin d'une solution rapide et simple, vous pouvez trouver cela ci-dessous:

En supposant votre entrée exacte (col1|col2|col3, délimiteur de pipe, pas de pipe dans col2):

Rechercher: (.*?)\|(.*?)\|(.*)

Remplacer: \1|\3|\2

ça fonctionne pour moi ici dans Notepad++, version de janvier 2015. Un peu brut, mais ça marche.

Explication:

.* - correspond à n'importe quel caractère (sauf un retour à la ligne), entre zéro et un nombre illimité de fois

.*? - correspond à n'importe quel caractère (sauf un retour à la ligne) comme ci-dessus, de manière non avide (c'est-à-dire correspondre le moins possible)

(.*) - des parenthèses simples dénotent un groupe de capture du dessus (à utiliser dans Remplacer comme par exemple \1, \2, \3 etc )

\| - \ échappe le pipe (|) pour le faire correspondre littéralement

\1|\3|\2 - imprime le 1er groupe correspondant, pipe, troisième groupe correspondant, pipe, deuxième groupe correspondant

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X