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.
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'.
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.
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.