Bonjour tous le monde,

Je bosse sur un hp-ux 11i avec un awk (pas gnu awk, vraiment que awk !)

Voila mon problème : je dois transformer un script sed en script awk (bascule nécessaire car sed n'accepte pas les variables d'environnement dans ses scripts).

J'ai tout transformé, sauf quelques lignes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 s/\(["\-]\)\(P\)\([AMSWX]\)\([A-Z]\)/\1I\3\4/g
 # Ressources : change tout les NAME="PS ou NAME="PM ou NAME="PX en NAME="IS ou NAME="IM ou NAME="IX
 s/\(QUANTITATIVE NAME=\"\)\(P\)\([MSX]\)/\1I\3/g
 s/\(CONTROLE NAME=\"\)\(P\)\([MSX]\)/\1I\3/g

Il s'agit de faire des modifications dans des fichiers xml.

La première ligne transforme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<OUTCOND NAME="PXCLJ4304-PXCLJ43ZZ" ODATE="ODAT" SIGN="DEL" />
en
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<OUTCOND NAME="IXCLJ4304-IXCLJ43ZZ" ODATE="ODAT" SIGN="DEL" />
La dernière ligne transforme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
   <QUANTITATIVE NAME="PX-CLIPER-CL" QUANT="1" />
en
Code : Sélectionner tout - Visualiser dans une fenêtre à part
   <QUANTITATIVE NAME="IX-CLIPER-CL" QUANT="1" />
Comme vous le remarquez, il s'agit de transformer les lettres P en I (sauf lorsque le P est au milieu du nom, cad : PXRP01 deviendra IXRP01)

Quelqu'un à une idée ?