Subsitution Bash

Résolu/Fermé
Maillon - 24 juin 2008 à 13:12
 Maillon - 24 juin 2008 à 13:51
Bonjour,

Voilà j'aimerai mettre cette variable dans un sed : /data/www/site/

Seulement il faut que j'échappe les "/" à chaque fois et vu que mon /data/www/site/ est une variable je ne peux pas le faire directement dans le sed.

Alors j'ai écris ça :
T=${TARGET//\//\\//}
sed -i "s/DING/$T/g" fichier

Donc normalement je remplacerais Ding par /data/www/site/

Seulement quand je l'exécute ca me fait un bad substitution.

J'ai utiliser ce lien pour m'aider
https://www.linuxjournal.com/article/8919#comment-133250

Quelqu'un aurait-il une idée ?

Merci.

Cordialement,

1 réponse

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
24 juin 2008 à 13:38
Salut,
jp@MDK:~/tmpfs ssh$ var="/var/www/data"

jp@MDK:~/tmpfs ssh$ echo $var
/var/www/data

jp@MDK:~/tmpfs ssh$ echo "C'est dingue"
C'est dingue

jp@MDK:~/tmpfs ssh$ echo "C'est dingue" | sed "s|ding|$var|"
C'est /var/www/dataue

jp@MDK:~/tmpfs ssh$
Voir : SED - The Stream EDitor - Part I
SED - The Stream EDitor - Part II
SED - The Stream EDitor - Part III

;-))
0
Super ça marche :)

Merci Jipicy ;-)
0