Commande SED avec variable [Résolu]

Signaler
-
 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

Messages postés
35573
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
14 septembre 2020
5 439
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

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