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
RESULTAT :
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) }
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
Partager