GNU/Linux >> Tutoriels Linux >  >> Linux

Code de retour grep Linux

Selon man grep page, -c le drapeau est pour

-c, --countSuppress sortie normale ; à la place, imprimez un nombre de lignes correspondantes pour chaque fichier d'entrée.

Donc, ce que vous voyez est le décompte du match et à ne pas confondre avec le code de sortie du grep match. Le code 1 est dû au fait qu'aucune ligne ne correspond à l'entrée.

Jetez un oeil à l'autre cas,

echo 'No' | grep -c No
1

echo $?
0

A lire aussi sur EXIT CODES le man grep pages,

ETAT DE SORTIE Normalement, l'état de sortie est 0 si une ligne est sélectionnée, 1 si aucune ligne n'a été sélectionnée et 2 si une erreur s'est produite.


Le code de sortie est 1 car rien n'a été trouvé par grep.

STATUT DE SORTIELe statut de sortie est 0 si les lignes sélectionnées sont trouvées, et 1 si elles ne sont pas trouvées. Si une erreur s'est produite, le statut de sortie est 2. (Remarque :le code de gestion des erreurs POSIX doit vérifier '2' ou plus.)

La sortie est zéro car le compte de 'Total' est zéro. Cela est dû à l'option -c :

-c, --countSuppress sortie normale ; à la place, imprimez un nombre de lignes correspondantes pour chaque fichier d'entrée. Avec l'option -v, --invert-match (voir ci-dessous), comptez les lignes qui ne correspondent pas. (-c est spécifié par POSIX.)

Si vous souhaitez forcer un code de sortie de 0, vous pouvez simplement ajouter || true à votre commande :

echo 'Total' | grep -c No || true

Linux
  1. Comment utiliser la commande Linux grep

  2. Code de sortie par défaut lorsque le processus est terminé ?

  3. Grep peut-il renvoyer vrai/faux ou existe-t-il des méthodes alternatives ?

  4. Utilisez la commande Linux grep

  5. Que sont les codes de sortie Bash sous Linux

Installation de Microsoft Visual Studio Code sur Linux

Comment utiliser grep sous Linux

Rechercher du texte dans des fichiers sous Linux à l'aide de grep

Commande Grep sous Linux (avec exemples)

Commande Grep sous Linux/UNIX

Utilisation de la commande grep sous Linux