Segregar dados em arquivos de log

0

Eu quero separar os tipos de erro no meu arquivo de log. Eu sou incapaz de fazer uma lógica para isso. Suponha que eu tenha esses tipos diferentes de erros em um arquivo de log. Agora eu quero extrair apenas esses tipos. Como no exemplo de log abaixo mencionado, eu tenho três tipos de erros HTTP Error, Socket Time Out, parâmetros inválidos. Eu tenho muitos mais como estes. Como posso extrair a lista para todos os erros? Por favor guie.

Aug  1 04:41:47 iibapp1 user:err|error IIB[17760440]: An HTTP error occurred.
Aug  1 04:41:47 iibapp1 user:err|error IIB[17760440]: Socket Timed out'.

Aug  1 04:41:47 iibapp1 user:err|error IIB[17760440]: Invalid Parameters'.
    
por Hamas Rizwan 16.08.2018 / 11:34

2 respostas

0

Não tenho certeza se entendi completamente o problema. O que impede você de usar, e. %código%? Experimente

grep "An HTTP error occurred." path/to/logfile

e redirecionar o resultado para um arquivo adequado.

    
por 16.08.2018 / 13:08
0

Se você quiser ver apenas essas três strings, peça grep para elas:

grep -E ": An HTTP error occurred\.\$|: Socket Timed out'\.\$|: Invalid Parameters'\.\$" input

Eu ancorei os textos um pouco, forçando cada um deles a começar com o espaço de dois-pontos ( : ), bem como forçando-os a estar no final da linha $ . O período e $ são escapados porque usei aspas duplas em torno do parâmetro grep, devido às aspas simples que aparecem no texto da pesquisa.

    
por 16.08.2018 / 14:51

Tags