Recherche GREP fichier XML

Résolu/Fermé
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 - 1 avril 2021 à 15:23
mamiemando Messages postés 33073 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 avril 2024 - 29 avril 2021 à 22:41
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 33073 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 avril 2024 7 748
Modifié le 6 avril 2021 à 12:51
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