Shell: Remplacement chaine caractère
Résolu
Bonjour,
Je cherche a modifier une chaine de caractère en shell. Cette chaine de caractère débute et finie par deux occurrences de %. Je voudrais remplacer %chaine% par "$chaine"
En gros, voila une ligne que j'ai:
%MOT1%/%MOT2% > %MOT3%MOT4
et voila ce que je souhaite:
"$MOT1"/"$MOT2" > "$MOT3"MOT4
Je cherche a modifier une chaine de caractère en shell. Cette chaine de caractère débute et finie par deux occurrences de %. Je voudrais remplacer %chaine% par "$chaine"
En gros, voila une ligne que j'ai:
%MOT1%/%MOT2% > %MOT3%MOT4
et voila ce que je souhaite:
"$MOT1"/"$MOT2" > "$MOT3"MOT4
Configuration: Windows XP Firefox 3.0.6
2 réponses
-
ModérateurSalut,
[rep]$ cat plop %MOT1%/%MOT2% > %MOT3%MOT4 [rep]$ sed 's/\(%\)\(.[^%]*\)\(%\)/"$\2"/g' plop "$MOT1"/"$MOT2" > "$MOT3"MOT4 [rep]$
;-))
-
ModérateurSalut,
Pour moi MOT4 est aussi une variable sinon ça ne rime pas avec la comparaison >-
-
Modérateur
-
Modérateur@lami20jRe-
Ce n'est pas forcément une comparaison, si ?
PS. Mais il est vrai que le DOS c'est loin, très loin ;-(
-
Modérateur@jipicyRe,
Il me semblais un peu longue ta regex ;-))$ echo '%MOT1%/%MOT2% > %MOT3%MOT4'| sed 's/\(%\)\(.[^%]*\)\(%\)/"$\2"/g' "$MOT1"/"$MOT2" > "$MOT3"MOT4 $ echo '%MOT1%/%MOT2% > %MOT3%MOT4'| sed 's/%\([^%]*\)%/"$\1"/g' "$MOT1"/"$MOT2" > "$MOT3"MOT4
-