Pages : 1
#1 Le 07/01/2010, à 04:45
- sidarape
[Résolu] Grep et Regex
Bonjour,
Voila le problème: En fait, j'ai un fichier qui a un mot par ligne et j'aimerais supprimer tous les mots qui ont moins de 8 lettres ou plus de 63 lettres. Alors, j'ai fait:
grep -E ".{8,63}" bla.txt
Il me supprime alors tous les mots qui ont moins de 8 lettres mais pas ceux qui ont plus de 63 lettres.
J'ai essayé(regex sans guillemet):
grep -E .{8,63} bla.txt
Ça me dit:
grep: .63: Aucun fichier ou dossier de ce type
Est-ce qu'il y a un problème avec ma regex ou avec la ligne de commande?
Merci d'avance pour vos réponses.
Dernière modification par sidarape (Le 07/01/2010, à 17:31)
Hors ligne
#2 Le 07/01/2010, à 07:45
- grim7reaper
Re : [Résolu] Grep et Regex
Oui, car dans ce cas tu prends tout les mots composé d'au moins 8 à 63 caractères (mais rien n'interdit qu'il y en ai plus). Donc pour faire ce que tu souhaites il faut utiliser la commande suivante
grep -E "^.{8,63}$" bla.txt
Ainsi tu dis qu'entre le début de la ligne (^) et la fin ($) il ne doit y avoir de 8 à 63 caractères.
Dernière modification par grim7reaper (Le 07/01/2010, à 07:47)
Hors ligne
#3 Le 07/01/2010, à 17:31
- sidarape
Re : [Résolu] Grep et Regex
Oui, car dans ce cas tu prends tout les mots composé d'au moins 8 à 63 caractères (mais rien n'interdit qu'il y en ai plus). Donc pour faire ce que tu souhaites il faut utiliser la commande suivante
grep -E "^.{8,63}$" bla.txt
Ainsi tu dis qu'entre le début de la ligne (^) et la fin ($) il ne doit y avoir de 8 à 63 caractères.
Merci de ton aide, ça marche!
Hors ligne