Commande grep svp!!

Fermé
qeb - 16 mai 2008 à 11:35
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 16 mai 2008 à 14:44
Bonjour,

j'ai cherché une commande grep qui permet d'executer :

grep a et(b ou c ou d)

avec : a, b, c, d sont des expressions à chercher


j'ai pas réussi à le faire, j'attends donc votre aide

merci d'avance

5 réponses

marc[i1] Messages postés 2573 Date d'inscription vendredi 1 avril 2005 Statut Contributeur Dernière intervention 6 septembre 2008 382
16 mai 2008 à 11:56
Salut,

tu as tapé quoi comme commande ?
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
16 mai 2008 à 11:57
Salut,

Des exemples précis s'il te plaît...

Sinon essaies ça :
grep -E "(a)+.*([bcd])+"
;-))
0
grep "2008051610"[3-5].*"0171999900".* test.txt


cela marche et le temps d'exécution est rapide dans le cas de 0171999900, ce qui est bien
mais réellement j'ai plusieurs num en "017..." dans un ficher et au lieu de faire une boucle et exécuter un grep un par un cela prend bcp de temps.
donc j'ai pensé à mettre un grep sur tous les numéro par rapport a une date précise qui est "2008051610"[3-5] par exemple
merci
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
16 mai 2008 à 12:30
Je m'excuse mais je comprends toujours pas ;-\

Dans ton expression :

grep "2008051610"[3-5].*"0171999900".* test.txt

les guillemets font partie de la chaîne à rechercher ou sont là pour encadre la(es) chaîne(s) ?

Affiche une dizaine d'exemple de ce que tu as comme numéro avec disons la moitié qui doivent correspondre avec l'expression recherchée...
0
les guillemets c'est pour encadrer la chaine qui nous interesse...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
16 mai 2008 à 12:39
Salut,

Donne nous un bout de ton fichier et dit exactement ce que tu veux obtenir comme résultat.
Pour la regex on s'en charge ;-)
0
justement, moi je veux pas que vous me fassiez ça je le ferais moi même merci, mais ma quetstion etait si avec un grep on peut chercher une expression1 sachant (une expression2 ou une expression3 ou une expression4) c'est tout si oui donnez moi l 'algo merci .
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > qeb
16 mai 2008 à 13:00
j'apprecie ;-)
tout fois si tu veux qu'on t'aide on doit d'abord comprendre ce que tu as besoin
malheuresement on n'a pas les même conditions de test

dans le cas général
ce que tu demandes donne
grep -E 'regex1(regex2|regex3|regex4)' fichier.txt
--
106485010510997108
0
qeb > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
16 mai 2008 à 13:05
merci je vais le tester...
0
qeb > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
16 mai 2008 à 13:40
ça s'exécute mais hélas ça ne retourne rien je vais encore bidouiller merci!!
0
qeb > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
16 mai 2008 à 14:42
ca marche à la prochaine merci beaucoup!!!
0