Como obter o código de status grep lançado no find

Como obter o código de status grep lançado no find

Como é possível obter o código de saída do comando grep iniciado em uma busca:

por exemplo:

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

Quer a palavra "erro" seja encontrada no arquivo ou não, ela retorna o código de saída0

O conteúdo de instance.log é o seguinte:

30/09/2016 09:01:20: ERRO2 (16)

Responder1

O comando find usado com a opção -exec retornará o código de status do comando grep. Exemplo:

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

Retornará 0 quando eu executá-lo em uma pasta com alguns arquivos de log contendo o padrão "201". Você pode verificar isso com echo $? no seu console (que dá 0 se o padrão for encontrado).

Se eu executar o mesmo comando em outra pasta com arquivos que não contenham "201", o código de status do comando find será 1

informação relacionada