Cómo obtener el código de estado grep iniciado en buscar

Cómo obtener el código de estado grep iniciado en buscar

¿Cómo es posible obtener el código de salida del comando grep iniciado en un hallazgo?

p.ej:

find ./export-`date +%Y%m%d`-*/instance.log -type f -exec grep -i -m1 error {} \;

Si la palabra "error" se encuentra en el archivo o no, devuelve el código de salida0

El contenido de instancia.log es el siguiente:

2016-09-30 09:01:20 : ERROR2 (16)

Respuesta1

El comando find usado con la opción -exec devolverá el código de estado del comando grep. Ejemplo:

find . -type f  -exec grep 201 {} +

Devolverá 0 cuando lo ejecute en una carpeta con algunos archivos de registro que contienen el patrón "201". ¿Puedes comprobarlo con echo $? en su consola (eso da 0 si se encuentra el patrón).

Si ejecuto el mismo comando en otra carpeta con archivos que no contienen "201", el código de estado del comando de búsqueda será 1

información relacionada