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.
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
Curtir tópico
+ 0
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.
-r, --recursive
-n, --line-number
-i, --ignore-case
Abraços
Tente utilizar os parametros abaixo.
grep -rin "112d3;aff3d;00001" log_erro_*
-r, --recursive
-n, --line-number
-i, --ignore-case
Abraços
Responder
Clique aqui para fazer login e interagir na Comunidade :)