Probleme de variable avec sed

Probleme de variable avec sed - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 06-09-2011 à 16:34:21    

Bonjour à tous,
 
n'ayant pas trouvé de sujet sur le forum en rapport avec ma problématique, je viens solliciter un peu d'aide.
 
Le problème :
 - j'ai une variable $TOTO qui contient des "" (la variable contient en fait un chemin absolu entre " " )
 
J'ai besoin d'exécuter dans mon script la commande suivante :

Code :
  1. sed -i s/"tata"/"$TOTO"/ /rep/lefichierquivabien.conf


 
Le problème, c'est que le sed ne passe pas. Après investigation, j'en ai déduis que c'est à cause des " présents dans ma variable. Le sed interprète donc ceux-ci et fait l'équivalent de :

Code :
  1. sed -i s/"tata"/""contenu_de_toto""/ /rep/lefichierquivabien.conf


Et là on voit que trop de quote tue le quote !
 
Quelqu'un aurait une idée ?  :??:  
 
Merci par avance

Reply

Marsh Posté le 06-09-2011 à 16:34:21   

Reply

Marsh Posté le 06-09-2011 à 23:08:16    

Heu non, il manque justement des quotes (simples) au tour de la substitution :
 
    sed -i 's/"tata"/"$TOTO"/' /rep/lefichierquivabien.conf

Reply

Marsh Posté le 07-09-2011 à 09:31:48    

Marche pas, ou plutôt, il ne se passe rien.
 
un echo $? me renvoie 0
 
seulement aucune substitution n'a été faite dans le fichier  :sweat:  
 
Pour info, ma variable contient quelque chose dans le style :

Code :
  1. # echo  $TOTO
  2. # ServerRoot "/var/www/httpd"

Reply

Marsh Posté le 07-09-2011 à 11:31:59    

Bon j'ai trouvé la solution. J'ai remplacé le caractère de séparation !
 

Code :
  1. sed -i s:"tata":"$TOTO": /rep/lefichierquivabien.conf

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed