[linux] en shell tester resultat d'un grep
Alex
-
Alex -
Alex -
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
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:
- Bash test grep
- Test performance pc - Guide
- Test steam deck oled - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
- Test composant pc - Guide
- Test batterie pc - Guide
4 réponses
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$;-)
Je comprends pas tout mais :
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
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
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 :)
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).
;-))