Commande SED avec variable

Résolu
Doble -  
 Doble -
Bonjour à tous,

J'ai un petit soucis pour ma commande sed.

J'ai une boucle dans laquelle j'effectue un sed, par exemple :
 
for I in A B C D E ; do
   sed 's/$I/WWW/' text.txt
done


Je vous expose ceci, car je n'arrive pas à trouver le moyen de subtiliser la variable $I à sa valeur propre (A B C D ou E).

Est ce que vous pouvez m'aider ?

Bonne journée à vous tous

Doble

1 réponse

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Salut,

Les variables ne sont jamais interprétées quand elles sont entourées par des quotes simples ;-(

Il faut les entourer de quotes doubles. Et tant qu'à faire écrire ses variables en les entourant d'accolades (
"${I}"
).

sed "s/${I}/WWW/" text.txt

ou sortir des quotes simples :
sed 's/'"${I}"'/WWW/' text.txt

1
Doble
 
J'ai bien effectué la commande avec des guillemets double mais ça n'avais fonctionné...
Encore un mystère de la machine !

En tout cas je te remercie beaucoup !

Bonne journée à toi
0