[awk] Groupement de regex
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:
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:
<OUTCOND NAME="PXCLJ4304-PXCLJ43ZZ" ODATE="ODAT" SIGN="DEL" />
en
Code:
<OUTCOND NAME="IXCLJ4304-IXCLJ43ZZ" ODATE="ODAT" SIGN="DEL" />
La dernière ligne transforme :
Code:
<QUANTITATIVE NAME="PX-CLIPER-CL" QUANT="1" />
en
Code:
<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 ?