Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/01/2010, à 05: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, à 18:31)

Hors ligne

#2 Le 07/01/2010, à 08: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, à 08:47)

Hors ligne

#3 Le 07/01/2010, à 18:31

sidarape

Re : [Résolu] Grep et Regex

grim7reaper a écrit :

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