[linux] en shell tester resultat d'un grep

Fermé
Alex - 19 avril 2007 à 09:57
 Alex - 19 avril 2007 à 16:46
Bonjour
je souhaite tester le résultat d'un grep
ceci semble ne pas fonctionner:
if (grep "= 1" $LOGFILE) = "1"

Je veux tester si la valeur renvoyée par grep est 1 ou 0. Grep renvoi une valeur différente s'il trouve = 1. je voudrais la tester.
Merci de votre aide.
Alex
A voir également:

4 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
19 avril 2007 à 11:55
Salut,
jp@MDK:~/tmpfs ssh$ cat fich
Bonjour
Aurevoir

jp@MDK:~/tmpfs ssh$ grep "Bonjour" fich >/dev/null; if [ $? == 0 ];then echo "Ok"; else echo "Nok";fi

Ok

jp@MDK:~/tmpfs ssh$ grep "Aurevoir" fich >/dev/null; if [ $? == 0 ];then echo "Ok"; else echo "Nok";fi

Ok

jp@MDK:~/tmpfs ssh$ grep "Adieu" fich >/dev/null; if [ $? == 0 ];then echo "Ok"; else echo "Nok";fi

Nok

jp@MDK:~/tmpfs ssh$
;-)
5
/dev/null; if [ $? == 0 ];


juste pour ma culture je connais pas /dev/null what is this ?
et donc forcement je comprends pas non plus le $? == 0

Si tu pouvais rapidement m'expliquer jipicy :)
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 895 > Benj
19 avril 2007 à 12:05
Salut,

Le "/dev/null" c'est une sorte de poubelle sans fond (un trou noir quoi), où tu envoies tout ce que tu ne veux pas voir en sortie.

Le "$?" est une variable du shell contenant le code retour de la dernière commande exécutée, dans notre cas celle de grep (0 si correspondance avec le motif et 1 si pasde cprrespondance).

;-))
0
Je comprends pas tout mais :
if (`grep "= 1" $LOGFILE`= "1") 


et encore a mon avis si tu grep "=1" t'auras jamais 1 en retour
colle la ligne de ton fichier de log que tu veux tester si = 1
1
merci de la réponse j'ai fait autrement finalement.
Je garde cette solution qui me servira surement plus tard
merci a +
0
oki :), je te remercie, Bon app :)
ce matin j'ai appris le python cette aprem je passe au codage pour le traitement de mon fichier ;) je te tiens au courant
0
merci de la réponse j'ai fait autrement finalement.
Je garde cette solution qui me servira surement plus tard
merci à vous
Alex
0