vandergil 0 Denunciar post Postado Março 23, 2011 Srs(as) seguinte, preciso encontrar a ocorrencia de algumas expressões em um arquivo de log, para isso estou utilizando o comando grep, por exemplo: grep -a '025240500328' LOG_DETALHADO.log porém são muitas as expressões, e para isso gostaria de saber se tem como dar um loop em um arquivo com todas as expressões que desejo procurar, e ele enviar o resultado para outro arquivo, por exemplo, crio um arquivo com o conteudo: 125240500378 425240500369 325240500353 725240500341 925240500336 025240500317 Ai no comando grep teria um loop nesse arquivo, por exemplo: grep -a loop_no_arquivo_de_expressoes LOG_DETALHADO.log >> resultado.txt. Alguém sabe me informar se isso é possivel? Compartilhar este post Link para o post Compartilhar em outros sites
MarceloOyata 0 Denunciar post Postado Março 29, 2011 Srs(as) seguinte, preciso encontrar a ocorrencia de algumas expressões em um arquivo de log, para isso estou utilizando o comando grep, por exemplo: grep -a '025240500328' LOG_DETALHADO.log porém são muitas as expressões, e para isso gostaria de saber se tem como dar um loop em um arquivo com todas as expressões que desejo procurar, e ele enviar o resultado para outro arquivo, por exemplo, crio um arquivo com o conteudo: 125240500378 425240500369 325240500353 725240500341 925240500336 025240500317 Ai no comando grep teria um loop nesse arquivo, por exemplo: grep -a loop_no_arquivo_de_expressoes LOG_DETALHADO.log >> resultado.txt. Alguém sabe me informar se isso é possivel? Acho que você esta querendo encontrar uma sequencia de caracteres dentro de um arquivo, quando ele é atualizado. Você já tentou gerar um loop com o comando grep ? while true; do grep -a '025240500328' LOG_DETALHADO.log >> resultado.txt ; sleep 180; done Coloquei o comando sleep 180, para que ele verifique a cada 3 minutos, senão ele vai acabar gerando um arquivo muito grande, esse tempo você pode incrementar de acordo com sua necessidade. abraços Compartilhar este post Link para o post Compartilhar em outros sites
Fernando_Cezar 0 Denunciar post Postado Abril 13, 2011 Marcelo, não sei se entendi errado, mas acho que não é bem isso que o vandergil quer. Acho que você precisa é fazer uma lista com as expressões que quer procurar. Por exemplo: lista="expressao1", "expressao2", "expressao3" E daí iterar essa lista com o grep. for i in ${lista[*]} do grep -a $l LOG_DETALHADO.log >> resultado.txt done Compartilhar este post Link para o post Compartilhar em outros sites