Problemas com retorno do comando GREP - Shell Script

26/06/2017

0

Boa tarde pessoal,

Estou com um problema na utilização do comando GREP. Estou precisando varrer diversos arquivos de logs de erros atrás de determinados códigos e retornar para um arquivo.

O exemplo seria:

log_erro_20170625_010622.txt
log_erro_20170625_030622.txt
log_erro_20170625_040622.txt
log_erro_20170625_050622.txt
log_erro_20170625_070622.txt

Dentro dele procuro o seguinte trecho 112d3;aff3d;00001

Dando o comando echo $(grep '112d3;aff3d;00001' log_erro_*)

Quando ele me retorna, o resultado é o seguinte:
log_erro_20170625_030622.txt: erro_client;112d3;aff3d;00001;failer_execution; log_erro_20170625_040622.txt: erro_client;112d3;aff3d;00001;failer_execution;

Mesmo localizando em dois arquivos diferentes, ele me retorna como uma única linha, mas eu precisava que o retorno fosse em linhas separadas.
Tipo:
Linha 1: log_erro_20170625_030622.txt: erro_client;112d3;aff3d;00001;failer_execution;
Linha 2: log_erro_20170625_040622.txt: erro_client;112d3;aff3d;00001;failer_execution;

Alguém saberia me ajudar com essa dor de cabeça, pois isso é bem urgente.
Eduardo Guimaraes

Eduardo Guimaraes

Responder

Posts

30/06/2017

Navegante

Dependendo da versão do grep, você pode tentar usar usar o --group-separator.
Responder

03/07/2017

Fabio Rocha

Eduardo,

Tente utilizar os parametros abaixo.

 grep -rin "112d3;aff3d;00001" log_erro_*


-r, --recursive
-n, --line-number
-i, --ignore-case

Abraços
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar