Tri d'une partie d'un fichier
Bonjour,
Afin de pouvoir comparer facilement deux versions d'un extract xml, j'ai besoin de trier le contenu de certaines balises.
Mon xml est de la forme :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
<documents>
<document>
<field name="toto">valeur<field>
<field name="properties">
<prop name="b">
<prop name="a">
<field/>
<field name="titi">autrevaleur<field>
<document/>
<document>
<field name="toto">valeur<field>
<field name="properties">
<prop name="c">
<prop name="a">
<field/>
<field name="tutu">autrevaleur<field>
<document/>
...
<documents/> |
Je souhaite donc trier pour chaque document les balises inclues entre les balises qui ont pour nom properties (par ordre alphabétique) pour obtenir :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
<documents>
<document>
<field name="toto">valeur<field>
<field name="properties">
<prop name="a">
<prop name="b">
<field/>
<field name="titi">autrevaleur<field>
<document/>
<document>
<field name="toto">valeur<field>
<field name="properties">
<prop name="a">
<prop name="c">
<field/>
<field name="tutu">autrevaleur<field>
<document/>
...
<documents/> |
J'ai essayé avec sed en utilisant des plages d'adresses mais je ne sais pas si il est possible de trier.
sed -n -e '/<field name="properties">/,/<field/>/p' doc.xml
Pouvez-vous me faire une suggestion ?
Merci d'avance.