Bonjour a tous.

J'ai un fichier texte avec des enregistrements ..1000 pour être précis.
Dans chaque enregistrement j'ai un champ =866 avec des infos.
La commande nawk ci-dessous formate le champ =866, le transforme en =952 et change des données à l’intérieur.
Le awk marche bien, mais un des champs doit avoir une valeur incrémentée de 1 pour chaque enregistrement dans le fichier :

Exemple du fichier (je colle pas tout car il est long)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
=LDR  00795nas  2200193 i 4500
=005  20100728125529.0
=008  920520c1989\\\\-usmr\\\\\\\\\0\\\\\eng\\
=022  0\$a1040-2446
=041  0\$aeng
=210  1\$aAcad Med
=245  00$aAcademic Medicine / $cAssociation of American Medical Colleges.
=260  \\$aPhiladelphia : $bAssociation American Medical Colleges, $c1989.
=300  \\$c24 cm.
=310  \\$aMensual
=530  \\$aDisponible en versi{dbldotb}n electr{dbldotb}nica desde 2000.
=650  \4$aMedicina.
=780  00$aEs continuaci{dbldotb}n de. $t"Journal of Medical Education" $xISSN 0022-2577
=856  \\$uhttp://ovidsp.ovid.com/ovidweb.cgi?T=JS&MODE=ovid&NEWS=n&PAGE=toc&D=ovft&AN=00001888-000000000-00000   $zAcceso al texto completo
=866  \\$aBNCS-CH 1989 (1990)1991(1992)1993-96(1997)1998-2001(2002-2005)2006-2008.
Le champs =866 devient ça une fois formaté :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
=952 \\$aBNCS-CH\\$bBNCS-CH\\$h1989\\$oBNCS-CH0000001\\$pBNCS-CH0000001\\$yJNL
La commande est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
nawk -F"[\$a ]" '{if ($0~/^=866/) {print "=952",$3"$a"$5$3"$b"$5"\\\\$h"$6"\\\\$o"$5"0000001\\\$p"$5"0000001\\\\$yJNL" } else {print $0}}' revistas1.txt >luis.txt
Le problème c'est que je voudrais ces 2 champs là incrémentés de 1 pour chaque enregistrement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$o"$5"0000001\\\$p"$5"0000001
Donc le $o et $p pour l'enregistrement suivant serait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
$o"$5"0000002\\\$p"$5"0000002
...
dernier
$o"$5"0000001000\\\$p"$5"0000001000

J'ai pensé faire une boucle for dans le awk, mais je n'y arrive pas.
Quelqu'un connait l'astuce?
Ça serait quelque chose comme:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$o"$5"000000"$i\\\$p"$5"000000"$i
D'avance merci