Remplacer contenu texte entre 2 balises en batch

Remplacer contenu texte entre 2 balises en batch - Shell/Batch - Programmation

Marsh Posté le 23-11-2014 à 11:30:33    

Bonjour  
j'ai besoin d'avoir un petit programme en .bat qui me permettrai de remplacer un texte contenu entre 2 balises d'un fichier xml, exemple:  
 
fichier1.xml  
 
<toto>texte1<toto>  
<titi>texte2<titi>  
<tata>texte3<tata>  
 
en lançant le prg.bat nouveau ou nouveau est le nouveau texte, j'obtiendrais  
 
fichier1.xml  
   
<toto>texte1<toto>  
<titi>nouveau<titi>  
<tata>texte3<tata>  
 
J'ai juste des notions car suis un vieux de l'ere du dos  
Merci à vous pour votre aide

Reply

Marsh Posté le 23-11-2014 à 11:30:33   

Reply

Marsh Posté le 23-11-2014 à 13:47:50    

Salut,

 
Code :
  1. #!/bin/bash
  2. theKey='nouveau'
  3. theFile='fichier1.xml  '
  4. if grep -q "<titi>" $theFile ; then
  5.     sed -i.bak 's/<titi>.*<\/titi>/<titi>${theKey}<\/titi>/g' $theFile
  6.     valid="Ok"
  7.    
  8. else
  9.     valid="NULL"
  10. fi
  11. echo 'Le remplacement est : '$valid
 

Comme ça ?

 

EDIT : Pardons je n'ai pas l’habitude de voir des personnes faire scripts sous windows ... Mon script utilise Bash pour Gnu/Linux ...


Message édité par norihiori le 23-11-2014 à 13:49:19
Reply

Sujets relatifs:

Leave a Replay

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