Probléme pour remplacer = dans une variable

Probléme pour remplacer = dans une variable - Shell/Batch - Programmation

Marsh Posté le 03-06-2007 à 12:54:45    

Bonjour, j'ai une variable VrTest qui contien une chaine de caractére avec le signe =, je voudrai remplacer le = par +, voila ce que j'ai fait:

Code :
  1. set VrTest=%VrTest:==+%


Mais la commande ne remplace pas le égale, j'ai essayer avec la caractére d'echapement ^:
 

Code :
  1. set VrTest=%VrTest:^==+%


Mais sa na rien donner.
 
Sauriez vous que faire ?

Reply

Marsh Posté le 03-06-2007 à 12:54:45   

Reply

Marsh Posté le 03-06-2007 à 15:59:57    

hum, à la barbar :  
 
echo $var | sed s/"="/"+"/
 
mais je sais que bash propose un truc plus intelligent, sauf que j'arrive jamais à m'en rappeler.

Reply

Marsh Posté le 03-06-2007 à 16:02:49    

Bonjour et merci beaucoup  
 
Mais je voudrais faire sa avec la subsitution de variable

Reply

Marsh Posté le 03-06-2007 à 20:36:12    

webding a écrit :

Bonjour et merci beaucoup  
Mais je voudrais faire sa avec la subsitution de variable

Je n'ai pas trouvé comment faire avec une simple substitution.
Par contre, c'est faisable en utilisant la commande FOR :

SET var=score=5
FOR /F "delims== tokens=1*" %i IN ("%var%" ) DO SET var=%i+%j
echo %var%          --> score+5


 
Jean-Pierre.

Reply

Marsh Posté le 04-06-2007 à 17:24:57    

Dumbledore a écrit :

hum, à la barbar :  
 
echo $var | sed s/"="/"+"/
 
mais je sais que bash propose un truc plus intelligent, sauf que j'arrive jamais à m'en rappeler.


Déjà il y a une erreur de guillemets. La bonne syntaxe serait celle-ci
echo $var | sed -e "s/=/+/"
 
Sinon, en bash, c'est ceci
var=${var/=/+}
 
Mais la question d'origine est-elle bien en bash ? J'étais persuadé que cela se passait sous Zindoz...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 04-06-2007 à 17:32:14    

Sve@r a écrit :

Déjà il y a une erreur de guillemets. La bonne syntaxe serait celle-ci
echo $var | sed -e "s/=/+/"
 
Sinon, en bash, c'est ceci
var=${var/=/+}
 
Mais la question d'origine est-elle bien en bash ? J'étais persuadé que cela se passait sous Zindoz...


 
Non ce n'est pas en bash (linux), c'est en batch (windows)


Message édité par webding le 04-06-2007 à 17:32:50
Reply

Marsh Posté le 04-06-2007 à 18:03:39    


 
 bash c'est pas que sous Linux .


---------------

Reply

Sujets relatifs:

Leave a Replay

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