Recherche GREP fichier XML

Signaler
Messages postés
586
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
1 avril 2021
-
Messages postés
29732
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
15 avril 2021
-
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

1 réponse

Messages postés
29732
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
15 avril 2021
7 072
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