Eu quero adicionar a data acima a cada linha em um arquivo de log prstat

0

Eu tenho um log prstat, como todos sabem, a data e a hora são gravadas no topo do arquivo de log, eu gostaria de adicionar essa data e hora ao início de cada linha até que ela chegue a uma nova data, então eu faria o mesmo para aquela parte do log.

Isso é possível ?, existe uma maneira de fazer isso através de comandos ou de um script, eu teria criado um script para fazer isso, mas é tarde demais já que os dados já foram coletados.

    
por I AM L 13.12.2012 / 06:55

2 respostas

1

Supondo que o formato de data seja aaaa-mm-dd hh: mi: ss, você pode usar este script perl:

#!/usr/bin/perl -w

open(FILEH,"<","your.log") or die "cannot open file";
my $date = "0000-00-00 00:00:00";

while(<FILEH>) {
    if( /^([A-Z][a-z]{2}\s[A-Z][a-z]{2}\s[0-9]+\s[0-2][0-9]:[0-5][0-9]:[0-5][0-9]\s[0-9]{4})$/ ) {
        $date = $1;
    }
    else {
        print "$date $_";
    }
}

Altere your.log com o caminho completo do seu arquivo de log.

    
por 13.12.2012 / 07:49
0

eu não sei muito mais sobre python, mas eu tentei

#!/usr/bin/env python

Each_line = [line.split() for line in open('/tmp/prstat.log')]

for n in xrange(len(Each_line)):
    if '2008' in Each_line[n]:
         print " ".join(Each_line[n])," ".join(Each_line[n+1])
    
por 13.12.2012 / 10:08