Bonjour,
Je suis toujours sur mon script de variabilisation.
Maintenant j'essai de substituer UN seul caractère dans une chaine de caractère.

Par exemple, soit la ligne de mon fichier :
RUN PROGRAM(SRLOSABA) PLAN(SRLOS77A)

ce qui m'interesse c'est de substituer le 7 en gras par la variable £JEU,
j'ai essayé avec un sub mais le problème c'est qu'il me substitue le premier
7 et non le second (c'est toujours le dernier chiffre qui doit etre variabilisé)


J'ai réussi à faire en sorte que mon AWK fonctionne en matchant les lignes comme si dessous

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
match($0,"PLAN[(].*[0-9][ABSP][)]")     {
                          JEU=substr($0,RSTART+(RLENGTH-3),1)
                          JEU_match=substr($0,RSTART+5,RLENGTH-7)
                          JEU_debut=substr($0,RSTART+5,RLENGTH-8)
                          JEU_chaine=JEU_debut"£JEU"
                          sub(JEU_match,JEU_chaine)
}
RESULTAT :
RUN PROGRAM(SRLOSABA) PLAN(SRLOS7£JEUA)

ça marche bien comme ci dessus (découpant les chaines de caractère avant et après le 7 et en recollant le tout) mais je trouve que cela fait très usine à gaz
comment substituer un seul caractère déterminé dans une chaine ?

Merci