Como saber qual arquivo .log contém um erro?

0

Eu tenho um monte de logs e eu não quero olhar em cada um deles individualmente, mas em vez disso eu gostaria de executar cat cluster-2010*.log | grep error , mas o problema é que, mesmo que esteja me devolvendo o que eu quero, eu não tem uma pista de qual arquivo .log está contendo o erro que o comando anterior estava exibindo.

Como posso resolver isso?

    
por adam86 06.09.2016 / 16:52

3 respostas

11

grep dirá a si mesmo se você fornecer os nomes dos arquivos em vez de fornecer o conteúdo deles:

grep error cluster-2010*.log
    
por 06.09.2016 / 16:54
5

Esse é um Uso inútil do gato . Basta fazer:

grep error cluster-2010*.log

Você receberá uma saída semelhante a esta:

bil@daemon:foo %>grep error cluster-2010*.log 
cluster-20105.log:error
cluster-20107.log:error
    
por 06.09.2016 / 16:56
4

Se você não quer um monte de saídas, por exemplo, se eu obtiver o auth.log para falha e ele cusar algumas centenas de linhas, você pode usar:

grep -l error cluster-2010*.log

que não imprimirá nada se o resultado for falso (não contém o valor) ou o nome do arquivo se existir.

Se você quiser descobrir qual número de linha a palavra que está procurando está ativada, use:

grep -n error cluster-2010*.log

    
por 06.09.2016 / 17:00

Tags