GNU/Linux >> Linux Esercitazione >  >> Linux

Codice di ritorno grep di Linux

Secondo man grep pagina, -c flag è per

-c, --countSuppress output normale; stampa invece un conteggio delle righe corrispondenti per ogni file di input.

Quindi quello che stai vedendo è il conteggio del match e da non confondere con il codice di uscita del grep incontro. Il codice 1 è a causa di nessuna riga corrispondente dall'input.

Dai un'occhiata all'altro caso,

echo 'No' | grep -c No
1

echo $?
0

Da leggere anche su EXIT CODES su man grep pagina,

STATO DI USCITANormalmente lo stato di uscita è 0 se è selezionata una linea, 1 se non è stata selezionata alcuna linea e 2 se si è verificato un errore.


Il codice di uscita è 1 perché grep.

non ha trovato corrispondenza

STATO DI USCITALo stato di uscita è 0 se le righe selezionate vengono trovate e 1 se non viene trovato. Se si è verificato un errore, lo stato di uscita è 2. (Nota:il codice di gestione degli errori POSIX dovrebbe verificare la presenza di '2' o superiore.)

L'output è zero perché il conteggio di 'Totale' è zero. Ciò è dovuto all'opzione -c:

-c, --countSuppress output normale; stampa invece un conteggio delle righe corrispondenti per ogni file di input. Con l'opzione -v, --invert-match (vedi sotto), conta le righe non corrispondenti. (-c è specificato da POSIX.)

Se desideri forzare un codice di uscita pari a 0, puoi semplicemente aggiungere || true al tuo comando:

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

Linux
  1. Come usare il comando Linux grep

  2. Codice di uscita predefinito al termine del processo?

  3. Grep può restituire vero/falso o esistono metodi alternativi?

  4. comando Linux grep

  5. Cosa sono i codici di uscita Bash in Linux

Installazione del codice di Microsoft Visual Studio su Linux

Come usare grep in Linux

Trova testo nei file su Linux usando grep

Comando Grep in Linux (con esempi)

Comando Grep in Linux/UNIX

Uso del comando grep in Linux