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 01/05/2012, à 12:01

inoune

[RESOLU] La commande grep et l'occurence

Bonjour!
J'aimerais savoir comment chercher, à l'aide de grep, l'occurence d'une lettre.
Je sais qu'il y a ces options:
x* zéro ou plus d'occurrences du caractère x
x+ une ou plus occurrences du caractère x
x? une occurrence unique du caractère x
\ {n\} pour définir le nombre de répétition n du caractère placé devant
{n,m}

Je ne sais pas comment les composer dans une commande, à part x* qui m'a bien marché
Celle-ci {n,m}, me parait bien utile, mais je ne sais pas pourquoi ça ne marche pas chez moi.

Donc si vous avez des exemples, ils  seront les bienvenues.

Merci d'avance.

Dernière modification par inoune (Le 02/05/2012, à 23:55)

Hors ligne

#2 Le 01/05/2012, à 22:26

kiks

Re : [RESOLU] La commande grep et l'occurence

L'exemple suivant répond-il à la question ?

$ cat exemple
aaabbbccc
abcabcabc
aabbccccbbaa
$ grep "a\{2\}" exemple 
aaabbbccc
aabbccccbbaa

Hors ligne

#3 Le 01/05/2012, à 22:36

aduxas

Re : [RESOLU] La commande grep et l'occurence

Il y a aussi

$ grep -E 'a{3,5}' exemple
aaabbbccc

Hors ligne

#4 Le 01/05/2012, à 22:39

pingouinux

Re : [RESOLU] La commande grep et l'occurence

Bonsoir,

inoune #1 a écrit :

x? une occurrence unique du caractère x

En fait, c'est :

x? => zéro ou une occurrence du caractère x

Hors ligne

#5 Le 02/05/2012, à 19:57

inoune

Re : [RESOLU] La commande grep et l'occurence

Merci à vous tous. J'ai quelques remarques et questions

@ kiks: Si j'ai compris, la commande: grep "a\{2\}" signifie que "a" apparait au moins 2 fois, non? Sinon, pourquoi, le mot "abcabcabc" ne s'affiche pas?
Et comment faire pour qu'il s'affiche? et merci.
@ aduxas: ça suppose que les 3 a sont regroupés, et si j'ai le mot: viabcdaplam ?
J'ai essayé avec la même commande, mais ça ne m'affiche rien.

@ pingouinux: J'ai essayé ceci: grep "f?" fichier  (fichier contient le mot file), on doit bien m'afficher le mot "file" puisque f apparait une fois(une occurrence), non?


Et puis j'ai une petite question, comment rechercher un mot qui contient exactement 3 lettres "p".
J'ai essayé ceci: grep 'p{3,3}' fichier
Certes, ça marche pour les mots ou les 3p sont groupés comme ppptata mais pour le mot opdpsp, ça ne marche pas !

Merci encore une fois.

Hors ligne

#6 Le 02/05/2012, à 20:08

pingouinux

Re : [RESOLU] La commande grep et l'occurence

$ grep -E 'f?' <<<"ddd file"
ddd file

# Au moins 3 p
grep -E "([^p]*p){3}" <<<"opdpspiip"
opdpspiip

# 3 p seulement
$ grep -E "^([^p]*p){3}[^p]*$" <<<"opdpspiip"
$ grep -E "^([^p]*p){3}[^p]*$" <<<"opdpspii"
opdpspii

Hors ligne

#7 Le 02/05/2012, à 20:26

inoune

Re : [RESOLU] La commande grep et l'occurence

Merci !! T'es vraiment fort wink
J'avoue que c'est vraiment difficile à les réaliser (peut être pour niveau big_smile). Parce que dans le manuel on ne trouve que les options, mais les astuces pour savoir les composer sont dures à trouver !

Voilà je te dis un grand merci, et aussi à tous les autres qui m'ont aidé wink

Hors ligne