Auteur: guilde.nt Date: À: guilde CC: guilde Sujet: Re: traitement de fichier long avec awk ou autre
> exemple > "4569111vt" occurrence 1 -- zone 18 : 452
> "4569111vt" occurrence 2 -- zone 18 : 123
> .......
> "4569111vt" occurrence X -- zone 18 : 007
>
> "4569111vt" pourrait etre un parametre, la zone 18 aussi ainsi que sa
> longueur, et le fichier à tester.
Prenons ceci comme modèle :
- entrée : "abXY12345XY6789" ;
- séparateur "XY", suivi d'un champ de longueur variable dont on veut
garder les caractères 2, 3 et 4.
echo "abXY12345XY6789" | awk -v s="XY" '1 {n=split($0, a, s); for (i=2; i<=n; i++) a[i]=substr(a[i], 2, 3)}'
Après split() : n=3 ; a[] = ["ab", "12345", "6789"] ; a[1] n'est pas
intéressant.
Si le séparateur devient une expression régulière, par exemple deux
majuscules quelconques, il suffit de remplacer s : s="[A-Z]{2}".