Como obter o código de status grep encontrado no find

1

Como é possível obter o código de saída do comando grep lançado em um find:

por exemplo:

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

Se a palavra "error" é encontrada no arquivo ou não, retorne o código de saída 0

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

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

    
por Kheshav Sewnundun 30.09.2016 / 11:02

1 resposta

2

O comando find encontrado 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 o executar 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

    
por 30.09.2016 / 11:16

Tags