Bonjour,
J'ai un fichier XML importé sous unix qui contient 2 lignes. Le fichier s'appelle fichier.xml.
La première ligne contient la ligne d'en-tête XML, référence du codage.
La seconde contient les balises "à la queue-leu-leu" (tout le monde s'éclate...) avec les valeurs.
Exemple :
Après une suite de grep/cut et de sed en tous genres, il me reste à supprimer la chaîne de caractères
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <?xml version="1.0" encoding="UTF-8"?> <XML><TETE>xperia</TETE> [...] <FLD id=":>2</FLD></XML>Il y a un 2 comme valeur mais ça pourrait être n'importe quelle valeur. Disons que dans un premier temps, je souhaiterais déjà supprimer cette chaîne de caractères avec le 2 en dur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <FLD id=":>2</FLD>
J'ai écrit ça (ksh) :
J'ai mis des backslashes devant les " mais je crois pas que ce soit utile pour le sed (par contre, j'ai vu que pour la commande grep, on ne pouvait pas s'en passer).
Code : Sélectionner tout - Visualiser dans une fenêtre à part sed -i '/id=\":/{s/\<FLD id=\":\>2\<\/FLD\>//g}' fichier.xml
En testantdirectement dans le fichier, ça ne me donne rien non plus (heureusement). J'ai testé avec les espaces en cherchant sur
Code : Sélectionner tout - Visualiser dans une fenêtre à part s/\<FLD id=\":\>2\<\/FLD\>//g, il exécute bien la commande directement dans le fichier. Après comme on est en "batch", je sais pas si ça réagit de la même façon.
Code : Sélectionner tout - Visualiser dans une fenêtre à part FLD id=
Du coup, si vous avez envie de me fournir un peu d'aide (et si possible des explications), je vous en saurai gré.
Partager