Estamos executando o Solaris 10 no trabalho. O que eu gostaria de fazer é encontrar a linha anterior a outra linha.
Exemplo real ao vivo. Eu posso descobrir que alguns dos nossos pedidos estão expirando com a seguinte consulta.
grep timeout log.log.
Isso me dá algo parecido com:
2010-11-30 20:59:57,495 ERROR [82.69.73.87 - 342E15CB9651927BE715780FC40DEC53 - 3675058] Send Call (AbstractEngineServlet.java:288) > - Merchant error HTTPS Comms found. Merchant Trans Id: 22283845800 The host did not accept the connection within timeout of 60000 ms
No entanto, nos arquivos de log, mas pode haver várias linhas anteriores que registramos para chamar
2010-11-30 20:56:57,495 INFO [82.69.73.87 - 342E15CB9651927BE715780FC40DEC53 - 3675058] about to call http://www.example.com
Então, o que eu gostaria de fazer é identificar todos os tempos limite e, em seguida, identificar todas as linhas "sobre chamadas" que são diretamente anteriores e possuem o mesmo endereço IP ou sessão.
No exemplo acima, seria encontrar a linha anterior contendo "342E15CB9651927BE715780FC40DEC53" isso é possível com as ferramentas de shell padrão?