Auteur: jl Date: À: guilde Sujet: Re: traitement de fichier long avec awk ou autre
Le jeudi 01 juillet 2021 à 18:10 +0200, Marc TERRIER a écrit : > Bonjour Fred,
>
> Je te propose ceci, en Perl, mais à toi de dire si cela correspond à ton
> besoin : Chouette du perl ! >
> $ cat test.txt
>
> mlf;sf;msdl;gdùfg;dùfg;ù;
> ,gee^vlêl^pfrle1234567xyazertyuiopqsdfghjkl123fdfdkjk7654321abpoiuytrezamcfgty
> hi321fgjkjklsqcjsl
>
> $ 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. De ce que j'ai compris de la description c'est ce qu'il faut ?
Sinon on peut rajouter un g après la regexp (voir ci-dessous).
> 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
À noter que quand on veut utiliser perl pour boucler sur les lignes d'un fichier
on peut utiliser perl avec les options -lne comme ceci pour tout faire en une
ligne de commande :