|
From: | Helder Jean |
Subject: | Re: [shell-script] subtraçao com dados de um arquivo |
Date: | Wed, 18 May 2005 23:24:37 -0300 |
User-agent: | Debian Thunderbird 1.0 (X11/20050116) |
Marcus Vinicius wrote:
Pessoal, tenho um arquivo de log colhido de um servidor Windows server, com o seguinte conteúdo.2005-05-18 12:55:36 200.162.196.132 GET /grade_3.gif - 80 - 200.158.222.22 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1) 404 0 2 262 316 0
(corta)
Por algum motivo que ainda nao descobri, o Windows armazena logs com a data errada, ele arqmazena a data com 3 horas a mais do que a hora verdadeira. Então na ultima linha que ele diz que o acesso ocorreu as 2005-05-18 14:21:04 na verdade o mesmo ocorreu 2005-05-18 11:21:04 . Alguem sabe se eu consigo corrigir isto com alguma expressão regular? Ou seja, no campo "Hora" da data eu subtrair 3 para que o arquivo fique com a data correta? Desde já agradeçoVinicius
Olá,Supondo que seu arquivo de log se chame http.log, você poderia fazer algo do tipo, num script:
while read data doecho -n $data | cut -d" " -f1,2 | sed "s/^/'/g; s/$/ 3 hours ago'/g" | xargs date '+%Y-%m-%d %T' -d | xargs echo -n
echo -n " " echo $data | cut -d" " -f3- done < http.logEle vai fazer a conversão usando o comando "date", assim, uma data do tipo 2005-05-18 02:00:00 da qual fossem retiradas 3 horas você receberia de volta 2005-05-17 23:00:00.
[]'s -- Helder Jean <Helder.J[at]gmx.net> Gerência de Redes - Superintendência de Informática - UFRN NARIS/UFRN - Nucleo de Atendimento e Resposta a Incidentes de Seguranca Linux Registered User #229979 - GnuPG KeyID: 0x46EE1E86 ------------------------------------------------------------------------
[Prev in Thread] | Current Thread | [Next in Thread] |