Sed avec un .*, puis mise en variable
Résolu
sergio
-
sergio -
sergio -
Bonjour,
Je désire faire un remplacement dans une chaine de caractère et mettre le résultat en variable. Voici ce que je tape :
chaine="abcd ef ghij"
a=ef
aa=`echo "$chaine" | sed "s/$a/.*/g"`
echo $aa
abcd . .. ghij (ici c'est le résultat)
et je voudrais obtenir
abcd .* ghij
où corriger ?
Je désire faire un remplacement dans une chaine de caractère et mettre le résultat en variable. Voici ce que je tape :
chaine="abcd ef ghij"
a=ef
aa=`echo "$chaine" | sed "s/$a/.*/g"`
echo $aa
abcd . .. ghij (ici c'est le résultat)
et je voudrais obtenir
abcd .* ghij
où corriger ?
2 réponses
-
Salut,
Il faut entourer ta variable avec des doubles quotes ;-\
$ aa=$(echo "$chaine" | sed "s/$a/.*/g")
$ echo $aa
abcd . .. ghij
$ echo "$aa"
abcd .* ghij
-
en effet, ça marche
merci beaucoup
en fait la variable contenait bien ce que je voulais, ce n'était que son affichage qui faisait paraitre le contraire !
merci