stocker le résultat d'un sed dans une variable : erreur
salut à tous,
je souhaite remplacer les caractères antislash présents dans une variabmes par le motif 'lolo', pour cela je fait :
Code:
1 2 3 4
|
1 #!/bin/bash
2 chaine="asdfghj\ehdbehd\uedued\yyy"
3 echo "$chaine" | sed 's,\\,LOLO,g' |
et cela fonctionne :
Code:
1 2
|
asdfghjLOLOehdbehdLOLOueduedLOLOyyy |
,
Par contre, si je souhaite stocker le résultat de cette commande via les antiquotes dans une variable :
Code:
1 2 3 4
|
4 var=`echo "$chaine" | sed 's,\\,LOLO,g'`
5
6 echo $var |
j'obtiens l'erreur :
Code:
sed: -e expression #1, char 10: unterminated `s' command
Si quelqu'un a une idée ... merci d'avance
ben
différence entre var=`commande` et var=$(commande) ?
je viens de tester l'écriture : $(commande) pour stocker le résultat dans une variable en lieu et place des anti-quotes : ``
voici donc la ligne qui marche :
Code:
var=$(echo "$chaine" | sed 's,\\,LOLO,g')
à la place de :
Code:
1 2
|
var=`echo "$chaine" | sed 's,\\,LOLO,g'` |
qui ne marche pas !
Voilà qui m'amène à demander la différence entre var=`commande` et var=$(commande) ?
merci d'avance,
ben