¿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