Re: traitement de fichier long avec awk ou autre

Page principale

Répondre à ce message
Auteur: Marc TERRIER
Date:  
À: frederic bressy
CC: guilde
Sujet: Re: traitement de fichier long avec awk ou autre
Bonjour Fred,

Je te propose ceci, en Perl, mais à toi de dire si cela correspond à ton besoin :

$ cat test.txt

mlf;sf;msdl;gdùfg;dùfg;ù; ,gee^vlêl^pfrle1234567xyazertyuiopqsdfghjkl123fdfdkjk7654321abpoiuytrezamcfgtyhi321fgjkjklsqcjsl

$ cat test.pl

#!/usr/bin/perl
while (<>) { /\d{7}[a-zA-Z]{2}.{18}(.{3})/ && printf "$1\n" }

$ ./test.pl test.txt
123

J'aurais bien aimé que cela sorte toutes les occurrences (j'en ai mis deux dans le fichier de test), mais ça ne sort que la première.
Si quelqu'un de la Guilde qui s'y connaît mieux que moi en Perl veut bien prendre la suite, et améliorer ce premier jet... ;-)

Marc


----- Mail original -----
De: "frederic bressy" <bressy.frederic@???>
À: guilde@???
Envoyé: Jeudi 1 Juillet 2021 17:38:10
Objet: traitement de fichier long avec awk ou autre

Bonjour

Je dois travailler, sans les modifier, sur des fichiers qui ne font
qu'une seule ligne mais longue, trés longue, contenant plusieur entités.

dans une des entités qui commence par 7 chiffres et deux caracteres
"nnnnnnnxx", je cherche à lister la donnée se trouvant 18 caracteres
plus loin et faisant 3 caracteres de long (et en théorie que des chiffres)

faut-il utiliser grep, awk? et comment feriez vous la commande?

merci d'avance




--

Cordialement
Bressy Frederic

Pensez ENVIRONNEMENT : n'imprimer que si nécessaire

Think ENVIRONMENT: print only if necessary