Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   *nix системы (https://forum.antichat.xyz/forumdisplay.php?f=124)
-   -   Unix Time (https://forum.antichat.xyz/showthread.php?t=202050)

hpagof 06.05.2010 10:20

Unix Time
 
Прошу помочь, у меня стоит squid и sags. Начальство хочет смотреть логи в виде текстового документа, логи у меня типа:
Код:

1268901385.523    717 192.168.1.1 TCP_MISS/200 472 GET http://info.music.metaservices.microsoft.com/cdinfo/GetMDRCDPOSTURL.aspx? - DEFAULT_PARENT/127.0.0.1 text
Мне всё понятно, но нужно им конвертировать Юникс тайм в нормальную дату. Т.е скрипт который конвертировал только ЮниксТайм в файле лога который я им буду предоставлять т.е так:
Код:

Thu, 18 Mar 2010 08:36:25 GMT    717 192.168.1.1 TCP_MISS/200 472 GET http://info.music.metaservices.microsoft.com/cdinfo/GetMDRCDPOSTURL.aspx? - DEFAULT_PARENT/127.0.0.1 text
Посоветуйте что нибудь

krypt3r 06.05.2010 10:46

Little example
Код:

#!/usr/bin/perl

use strict;
use warnings;
use POSIX qw /strftime/;

my $time = 1268901385.523;
print strftime ("%a, %d %b %Y %H:%M:%S %Z", gmtime $time), "\n";


hpagof 06.05.2010 12:41

Разве этот код не выполняется только для одной конкретной даты в логах ?

krypt3r 06.05.2010 12:58

Я вам пример дал, как из единичного значения unixtime'а перевести в более читаемый формат. Функция strftime() вам поможет

hpagof 06.05.2010 14:39

Создал файл unixtime.pl со следующим содержанием:
Код:

#! /usr/bin/perl -p
s/^\d+\.\d+/localtime $&/e;

И вополнил

perl unixtime.pl /путь к логам

Спасибо за помощь тебе!


Время: 04:52