Help grep -o

Help grep -o - Shell/Batch - Programmation

Marsh Posté le 06-04-2007 à 18:23:56    

Bonjour,
 
Je sollicite votre aide pour un petit problème d'utilisation de grep.
Ce que je souhaite faire : j'ai un ensemble de fichiers XML dans lequel certains "mots" on la forme suivante : |le_mot|
Je souhaite récuperer un "dictionnaire" de ces mots.
Pour l'instant je suis parti dans l'idée de faire la commande suivante :
grep -r -o "|*|" *.xml
 
Sachant que l'option -o permet justement de ne pas récupérer la ligne entière qui matche un pattern mais uniquement le pattern lui même.
 
A final ça ne marche pas, et je me retrouve avec des lignes en sortie qui ont cette tete :  

nom_du_fichier:|
|


--> bref les lignes ramenées sont les bonnes je pense mais l'affichage n'st pas celui que j'attends.
Quelqu'un voit-il où est mon problème ?
 
Merci d'avance

Reply

Marsh Posté le 06-04-2007 à 18:23:56   

Reply

Marsh Posté le 06-04-2007 à 23:20:06    

grep ça prend un expression regulière en argument. Ce que tu veux c'est "|.*|". Attention cependant, .* va matcher le plus long pattern possible, ce qui veut dire que ça va merder si tu as plus de deux "|" par ligne. Si tu veux plus perfectionné tu peux faire un truc du genre "|[^|]*|"

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed