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 : Sélectionner tout - Visualiser dans une fenêtre à part
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!