Forum Clubic

Recuperer une valeur entre des balises xml

Bonjour, je voudrais par exemple récupérer la chaîne “sip” dans la chaîne “sip” , et ce en bash, avec sed, awk, peut importe. Le nombre de balises avant et après la chaîne qui m’intéresse est indéterminé, mais au moins égale à 1

Mon idée était de me servir de sed :
echo “sip” | sed ‘s/(<.>)(.)(<.*>)/\2/g’

Mais cela ne marche que s’il y a une seule balise après la chaîne qui m’intéresse, et je n’arrive pas à changer ma condition pour que ça marche, j’ai un peu tout essayer… sauf le bon truc a priori, ça m’énerve un poil…

Si quelqu’un a une solution, que ce soit en 1 ou plusieurs commandes, peu importe…

Merci d’avance

P.S: on peut plus mettre de tag dans le sujet comme [shell] par exemple??
Edité le 27/07/2007 à 18:16

Ca ne vaut peut être pas grand chose mais …
avec awk, séparateur “>”, et tu ne prends que les éléments ne contenant pas “<”

ok, je regarderais çà, je maîtrise pas awk donc peut pas tester de suite. Merci pour ta réponse!

Avec sed, ça devrait fonctionner aussi
Je n’ai pas de linux sous la main, mais j’ai essayé avec le sed qui fonctionne sous windows

sed s/"<[/a-z]*>"//g fichier.txt

ca me parait pas mal, j’essaierais lundi, plus de Linux pour le week-end pour essayer.

Merci bcp :slight_smile: