Pb shell sed

Résolu/Fermé
kameha - 21 sept. 2007 à 12:02
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 21 sept. 2007 à 14:39
Bonjour,

J'ai un petit probleme de script shell:

J'ai un fichier fichierTest.props contenant les infos suivantes:

maProp=${une.variable}/test


je souhaite remplacer la chaine ${une.variable} par une valeur contenue dans une variable.
J'utilise la syntaxe suivante, mais elle ne fonctionne pas:


MAVAR=/home
sed -i "s/\${une.variable}/$MAVAR/g" fichierTest.props

j'obtient le message d'erreur suivant:

sed: -e expression n°1, caractère 17: option inconnue pour `s'

qqu'un aurait une idée please ???

3 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
21 sept. 2007 à 12:20
Salut,

Change le caractère délimiteur par défaut (/) par un autre comme le pipe (| ) ou le dièse (#), en fait un caractère ne se trouvant pas dans une tes variables :
sed -i "s#\${une.variable}#$MAVAR#g" fichierTest.props 
et ça devrait le faire ;-))
5
Super !! ça fonctionne merci !
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
21 sept. 2007 à 14:39
De rien ;-))
0