ZGREP fichier XML sur une seule ligne
Résolupcsystemd Messages postés 734 Statut Membre -
Bonjour,
J'ai un fichier XML "file.zip" qui contient du XML sur une seule ligne comme suit :
<?xml version="1.0" encoding="iso-8859-15" standalone="yes" ?><version="1.1"> <Numero>43794</Numero><DateE>2022-05-03</DateE><DateUp>2022-12-01</DateUp><Stat>0</Stat><Datetrait>0000-00-00</Datetrait></Bi><Bi><Co>354589</Co><Numero>48148357</Numero><Numero>43765494</Numero><DateE>2022-08-03</DateE><DateUp>2022-10-01</DateUp><Stat>0</Stat><Datetrait>0000-00-00</Datetrait></Des><Dilite><![CDATA[Immate]]></Dilite></Bi><Bi><Co>354589</Co><Numero>48148357</Numero>
Je souhaite faire un ZGREP de façon a ne sortir comme résultat que les balises
<Numero></Numero>
Le souci c'est que c'est une fichier XML sur une seule ligne donc si je fais un ZGREP normal il me sort le fichier entier puisque c'est une seule ligne.
J'ai testé cela :
zgrep '<Numero>' file.zip| sed -e 's/.*<Numero>\(.*\)<\/Numero>.*/<Numero>\1<\/Numero>/g'
Mais cela ne fonctionne pas!
Une idée?
Merci
Linux / Chrome 108.0.0.0
L'accès au savoir est la première liberté que chaque homme devrait avoir.
9 réponses
-
$ grep -o '<Numero>[0-9]*</Numero>' fichier <Numero>43794</Numero> <Numero>48148357</Numero> <Numero>43765494</Numero> <Numero>48148357</Numero>
-
Bonjour,
Tu rajoutes un saut de ligne
cat fic5.txt|grep '<Numero>'|sed -e 's/<Numero>/\n<Numero>/g'|sed -e 's/.*<Numero>\(.*\)<\/Numero>.*/<Numero>\1<\/Numero>/g'
-
Merci mais cela ne fonctionne pas même en ajoutant le paramètre grep -a!
cat file.xml|grep '<Numero>'|sed -e 's/<Numero>/\n<Numero>/g'|sed -e 's/.*<Numero>\(.*\)<\/Numero>.*/<Numero>\1<\/Numero>/g' Fichier binaire (entrée standard) correspondant
-
hello
quel est le résultat attendu ?
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Salut,
Le résultat attendu est de compter le nombre de balises <Numero></Numero>
<Numero>43794</Numero> <Numero>48148357</Numero> <Numero>43765494</Numero> <Numero>48148357</Numero> etc..qu'il y a dans un fichier XML a plat sur une seule ligne et qui est zippé.
Merci
-
@jee pee
Oui bien sur j'ai dezippé le fichier.
file.xml: XML 1.0 document, Non-ISO extended-ASCII text, with very long lines, with CRLF, LF, NEL line terminators
-
@jee pee
Ok merci. Je continue a chercher et si je trouve je viens poster la solution.
-
Je ne peux pas ce sont des données confidentielles de clients. Mais merci.
-