#!/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