Trier les lignes XML d'un fichier
Bonjour,
J'ai un fichier avec sur chaque ligne le contenu d'un fichier XML.
Par exemple :
ligne 1 : <?xml version="1.0"><root><key>XXX</key>...</root>
ligne 2 : <?xml version="1.0"><root><key>XXX</key>...</root>
Et pour trier les lignes de ce fichier, j'extrait avec sed les 'XXX' de l'élément <key> que j'enregistre dans un fichier temporaire.
Puis je trie ce fichier temp que je parcours ligne par ligne pour trier mon fichier de départ avec des grep.
Cela donne :
Code:
1 2 3 4 5 6 7
| sed 's/.*<key>\([0-9]*\)<\/key>.*/\1/g' "$SRC_FILE" > "$KEY_FILE"
> "$TMP_FILE"
sort -u "$KEY_FILE" | while read KEY
do
grep "<key>${KEY}</key>" "$SRC_FILE" >> "$TMP_FILE"
done |
Ca marche bien pas de soucis par contre je cherche une solution plus optimisée pour mon cas mais je ne vois pas comment faire autrement. Une idée ?
Merci!