Hello,
j'ai un script, qui scrute un répertoire, et pour chaque fichier (xml) il doit me supprimer la balise <?xml ... > en début et en fin de fichier.

Pour cela il y a la commande suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Supprimer_Balise_Xml ()
{
Lc_Fichier=$1
 
echo `sed -e 's/<?xml[^>]*>//g' ${Lc_Fichier}` > ${Lc_Fichier}	
 
}
Les balises dans le fichier en sortie sont bien supprimées , MAIS, dans le cas ou j'ai un fichier comme ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<?xml version="1.0" encoding="iso-8859-1"?>
<baliseA value="A    B" />
<baliseX value="toto" />
Quand je regarde le fichier en sortie du sed, la valeur de ma baliseA apparait avec :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<baliseA value="A B" />
(avec plus qu'un seul espace donc, ce que je ne veux pas)

Vous savez pourquoi? :o