Recherche GREP fichier XML

Résolu
pcsystemd Messages postés 734 Statut Membre -  
mamiemando Messages postés 34178 Statut Modérateur -
Bonjour,

lorsque je souhaite recherche via GREP une chaîne de caractère dans un fichier XML, je n'arrive pas a trouvé car ma commande fait défiler tout le contenu du fichier mais ne trouve pas la chaîne alors qu'elle existe!

Mon fichier

<?xml version="1.0" encoding="ISO-8859-15" ?>
<tag1>test</tag1><tag2>toto</tag2><tag3>flop</tag3><tag4>tac</tag4><tag5>toc</tag5><tag6>tuc</tag6><tag7>tic</tag7>
etc..


grep  '<tag5>' Mon fichier


J'ai également essayé grep -e mais pareil.

Une idée a m'indiquer?

Merci d'avance

Configuration: Linux / Chrome 88.0.4324.96

A voir également:

2 réponses

mamiemando Messages postés 34178 Statut Modérateur 7 885
 
Bonjour,

Vu que
grep
filtre les lignes qui contienne le motif cherché, si ton fichier xml est écrit sur une ligne, c'est normal que tu vois tout le fichier. Tu peux vérifié ce qui a été "grepé" avec l'option
--color
:

(mando@silk) (~) $ grep --color "<tag5>" toto.txt
<tag1>test</tag1><tag2>toto</tag2><tag3>flop</tag3><tag4>tac</tag4><tag5>toc</tag5><tag6>tuc</tag6><tag7>tic</tag7>


Si tu ne veux afficher que la partie "grepée", utilise l'option
-o
:

(mando@silk) (~) $ grep --color -o "<tag5>" toto.txt 
<tag5>


Dans ton cas, il pourrait être intéressant d'indenter ton fichier XML au préalable (voir cette discussion).

Bonne chance
1