|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Ingénieur développement logiciels Inscription : décembre 2004 Messages : 128 ![]() |
j'ai une chaine $CHAINE=/usr/bin/truc
ensuite je fait un sed -e -i 's/chemin=\".*\"/ chemin=\"'$CHAINE'\"/g monfichier' J'ai une erreur avec sed, car la commande qui est interprété est : sed -e -i 's/chemin=\".*\"/ chemin=\"/usr/bin/truc\"/g monfichier' Donc pour sed bloque sur le /usr, je voudrai formater $CHAINE par \/sur\/bin\/truc... Comment je peut rajouté un "\" devant chaque "/" de ma chaine ? Il y a peut etre une autre solution plus simple ? |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : août 2005 Messages : 8 306 ![]() |
Hello,
Tu dois pouvoir utiliser un autre caractère de séparateur des expressions sed que le /, comme par exemple le pipe (|) ou la virgule (,) qui a peu de chances de se retrouver dans un nom de fichier, d'où : Code :
sed -e -i 's|chemin=\".*\"| chemin=\"'$CHAINE'\"|g' monfichier Code :
sed -e -i 's,chemin=\".*\", chemin=\"'$CHAINE'\",g' monfichier
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Ingénieur développement logiciels Inscription : décembre 2004 Messages : 128 ![]() |
Très bien merci, c'est réglé !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com