Visualização de Log

1. Visualização de Log

Marcelo Pereira de Andrade
gfuzz

(usa Debian)

Enviado em 02/08/2012 - 09:06h

Olá a todos

estou com dificuldades de formatar a saida de um log:

exemplo:

fiz sed -n '/Got auth msg/,/Timeout/p' log.log

e a saida foi:

[2012-08-01 01:33:59] Got auth msg: Member ANY
Mac 192.168.0.237
User gfuzz
Token $1$70891085$FUOdDRVt1JCN8kVeDThy3/
Redirect http://terra.com.br/
Action Permit
Mode login
Timeout 86400
[2012-08-01 10:33:06] Got auth msg: Member ANY
Mac 192.168.0.231
User gfuzz
Token $1$166417656756565E4rxJjgfhgdhrVRug/
Redirect http://www.uol.com.br/
Action Permit
Mode login
Timeout 86400

preciso organiza-lo melhor, mais ou menos assim:

2012-07-31
16:54:11;gfuzz;192.168.0.171;http://terra.com.br/;permit


é possivel algo assim, ja fritei a mente preciso mesmo é de uma Luz..



  


2. Re: Visualização de Log

Marcos Paulo Ferreira
daemonio

(usa Slackware)

Enviado em 02/10/2012 - 15:29h

Olá,

Se o arquivo de log segue o padrão passado (ex: após "Got auth msg" há sempre 6 linhas antes de um "Timeout") então é relativamente fácil fazer isso com o SED.

No caso, você pode fazer assim:


sed -n '/Got auth msg/,/Timeout/ {
# Obtém a data e hora
s/G.*//; h
# Obtem IP
s/Mac //; H
# Obtém usuário
s/User //; H
# Obtém site
n;
s/Redirect //; H

# Agora, formata a saída como:
# [DATA HORA]; MAC; USUÁRIO; SITE
x;
s/\n/;/g
p

# Descarta as outras linhas
n; n; n
}
' log.log


Ficou um pouco grande, porque analisei cada linha separadamente. O formato de saída é diferente do que você passou, mas fiz isso para facilitar, porém, com esse mesmo código, é fácil formatar do jeito desejado.


OBS: sei que o post é antigo, mas talvez seja de interesse para outras pessoas.

t+








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts