Sed avec un .*, puis mise en variable

[Résolu/Fermé]
Signaler
-
 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 ?

2 réponses

Messages postés
36324
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 372
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


1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

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