Fichier csv, ajouter une colonne et y mettre le résultat de la recherche d'un motif.

Le
Dominique
Bonjour,

J'utilise LIBO 4.1. J'ai un fichier csv (environ 800 lignes) dont les
enregistrements sont de la forme :

2182;1997-329;moteur S8U-S- (1234 AB 99);1997;4 714,60;etc

Avec LIBO, ctrl+h et ce motif [0-9]{2,} [A-Z]{2,} [0-9]{2}, les
champs où se trouve une immatriculation sont bien repérés. Mon motif est
donc a priori bon.

Ce que je n'arrive pas à faire, c'est, dans une nouvelle colonne, isoler
le résultat du motif (1234 AB 99 en l'occurrence). Pas sûr que ce soit
faisable avec LIBO au travers d'une formule.

Est-ce possible avec un autre logiciel comme ed ou sed ? Si oui, comment ?

Je saurai m'arranger des différents cas de figures (ancienne/nouvelle
immatriculation, espaces ou pas)

Je vous remercie,

--
Dominique
Courriel : dominique point sextant ate orange en France
Esto quod es
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Doug713705
Le #25860012
Le 11-12-2013, Dominique nous expliquait dans fr.comp.os.linux.configuration :
Bonjour,

J'utilise LIBO 4.1. J'ai un fichier csv (environ 800 lignes) dont les
enregistrements sont de la forme :

2182;1997-329;moteur S8U-S- (1234 AB 99);1997;4 714,60;etc...

Avec LIBO, ctrl+h et ce motif [0-9]{2,} [A-Z]{2,} [0-9]{2}, les
champs où se trouve une immatriculation sont bien repérés. Mon motif est
donc a priori bon.

Ce que je n'arrive pas à faire, c'est, dans une nouvelle colonne, isoler
le résultat du motif (1234 AB 99 en l'occurrence). Pas sûr que ce soit
faisable avec LIBO au travers d'une formule.

Est-ce possible avec un autre logiciel comme ed ou sed ? Si oui, comment ?



Si le motif recherché est systématiquement entre parenthèse et qu'il n'y
a pas de parenthèse dans les autres champs, pourquoi ne pas couper
dessus avec awk et à la sauce barbare ça donnerait :

awk -F "(" '{print $2}' mon_fichier | awk -F ")" '{print $1}'

--
Doug - Linux user #307925 - Slackware64 roulaize ;-)
++++++++++++++ Live long and prosper ++++++++++++++
Dominique
Le #25860002
Le 11/12/2013 06:06, Dominique a écrit :

C'est extraordinaire le nombre de fois où la solution vient après avoir
formalisé une question.

Mon problème se règle dans LIBO avec :

=STXT(C1;CHERCHE("[0-9]{2,}? [A-Z]{2,}? [0-9]{2}";C1);10)

À moi de corriger le motif pour distinguer les 2 immatriculations (1234
AZ 91 et AA 123 BB) et les fantaisies (tirets, paquets de lettres et de
chiffres accolés...)

Je vais pouvoir extraire mes immatriculations.

Merci de n'avoir pas répondu :-)

--
Dominique
Courriel : dominique point sextant ate orange en France
Esto quod e AZ s
Dominique
Le #25862162
Le 11/12/2013 07:42, Doug713705 a écrit :

Si le motif recherché est systématiquement entre parenthèse <SNIP>



Eh non, le motif n'est pas toujours entre parenthèses et des parenthèses
polluent le champ...

Merci pour l'aide et... la sauce barbare :-)

--
Dominique
Courriel : dominique point sextant ate orange en France
Esto quod es
Publicité
Poster une réponse
Anonyme