Récupérer des info d'un fichier xml
mariam1990
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
mariam1990 Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
mariam1990 Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
salut tout le monde :)
j'ai le fichier xml suivant :
<Resumes>
<info1>
<titre> unix </titre>
<auteur> mari </auteur>
</info1>
<info2>
<titre> ksh </titre>
<auteur> myriam </auteur>
</info2>
</Resumes>
je veux récupérer par exemple l'information mari à l'aide une commande unix mais je ne sais pas comment,
aidez moi svp
je suis bloquer
j'attends vos réponse
merci d'avance
j'ai le fichier xml suivant :
<Resumes>
<info1>
<titre> unix </titre>
<auteur> mari </auteur>
</info1>
<info2>
<titre> ksh </titre>
<auteur> myriam </auteur>
</info2>
</Resumes>
je veux récupérer par exemple l'information mari à l'aide une commande unix mais je ne sais pas comment,
aidez moi svp
je suis bloquer
j'attends vos réponse
merci d'avance
A voir également:
- Récupérer des info d'un fichier xml
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
8 réponses
jp@MDK:~/tmpfs ssh$ cat mariam <Resumes> <info1> <titre> unix </titre> <auteur> mari </auteur> </info1> <info2> <titre> ksh </titre> <auteur> myriam </auteur> </info2> </Resumes> jp@MDK:~/tmpfs ssh$ sed -n '/<info1>/,/<\/info1>/{/<auteur>/ s/[^>]*>\([^<]*\).*/\1/p}' mariam mari jp@MDK:~/tmpfs ssh$
;-))
j'ai essayer la commande mais il me retourne le message suivant:
sed: Function /<info1>/,/<\/info1>/{/<auteur>/ s/[^>]*>\([^<]*\).*/\1/p} cannot be parsed.
:(
sed: Function /<info1>/,/<\/info1>/{/<auteur>/ s/[^>]*>\([^<]*\).*/\1/p} cannot be parsed.
:(
je suis sous GNU/Linux et j'ai vérifier les motifs de mon fichier mariam.txt : j'ai les même motif que l'exemple
la commande que tape est la suivant :
$ sed -n '/<info1>/,/<\/info1>/{/<auteur>/ s/[^>]*>\([^<]*\).*/\1/p}' mariam.txt
et j'ai le message suivant:
sed: Function /<info1>/,/<\/info1>/{/<auteur>/ s/[^>]*>\([^<]*\).*/\1/p} cannot be parsed.
la commande que tape est la suivant :
$ sed -n '/<info1>/,/<\/info1>/{/<auteur>/ s/[^>]*>\([^<]*\).*/\1/p}' mariam.txt
et j'ai le message suivant:
sed: Function /<info1>/,/<\/info1>/{/<auteur>/ s/[^>]*>\([^<]*\).*/\1/p} cannot be parsed.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
hello
avec awk (ou nawk sur Solaris)
avec awk (ou nawk sur Solaris)
$ nawk '/<info1>/ {f=1};/<\/info1>/ {f=0}; /<auteur>/ && f {print $2}' fichier mari $
merci dubece ca marche :d
mais est ce que tu peux m'expliquer la commande parce que j'ai rien saisie dans la syntaxe
mais est ce que tu peux m'expliquer la commande parce que j'ai rien saisie dans la syntaxe
/<info1>/ {f=1} quand une ligne contient <info1> f=1 (vrai)
/<\/info1>/ {f=0} quand une ligne contient </info1> f=0 (faux), on simule le /<info1>/, /<\/info1>/ de sed
/<auteur>/ && f {print $2} si une ligne contient <auteur> et f est vrai, on est entre <info1> et </info1>, donc on imprime le 2ème champ
/<\/info1>/ {f=0} quand une ligne contient </info1> f=0 (faux), on simule le /<info1>/, /<\/info1>/ de sed
/<auteur>/ && f {print $2} si une ligne contient <auteur> et f est vrai, on est entre <info1> et </info1>, donc on imprime le 2ème champ
merci pour ton aide :)
j'ai une autre question, je sais bien que je pose trop de question mais je suis vraiment bloquée:(
ma question est la suivante:
dans la commande que tu ma monter l'action que va appliquer le awk est d'écrire le résultat dans la sortie standard
mais si on veut affecter le résultat à une variable comment on peut le faire??
j'ai une autre question, je sais bien que je pose trop de question mais je suis vraiment bloquée:(
ma question est la suivante:
dans la commande que tu ma monter l'action que va appliquer le awk est d'écrire le résultat dans la sortie standard
mais si on veut affecter le résultat à une variable comment on peut le faire??