shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Filtro de log com AWK


From: shelleiro
Subject: Filtro de log com AWK
Date: Mon, 20 May 2013 21:16:34 -0000
User-agent: eGroups-EW/0.82

Pessoal,
Segue ai minha duvida, utilizando o awk consigo isolar uma algumas linhas do 
log e somar um determinado campo, só que consigo somente pegar o mês inteiro do 
log, gostaria de pegar apenas parte de um mês até uma certa data do outro, 
segue exemplo :
Dia base : DB=18
Mês base : MB=05
Mês anterios : MA=`echo "${MB}" | awk 'MANT = $1 - 1 {printf "%02o", MANT}'`
Ano base : AB=2013
Linha Bse : LB="310001#"
Comando AWK :
awk -v LINHA="${LB}" -v BASE="${DB}" -v MES="${MB}" -v ANT="${MA}" -v 
ANO="${AB}" -F, '
$12 ~ ANO"-"ANT"-" && $3 ~ LINHA {print $0} ;
$12 ~ ANO"-"MES"-" && $3 ~ LINHA {print $0}' arquivo.log >arquivo_tmp.log
Desta forma tenho todos os dias do mês no arquivo temporário mas não estou 
conseguindo pegar apenas o período do dia 21 do mês anterior até o dia 20 do 
mês atual, segue exemplo da linha do log :
"","20711490","310001#557132110444","portaone","""20711490"" 
<20711490>","SIP/portatwo-0001326c","DGV/2","Hangup","","2013-04-01 
12:38:58",,"2013-04-01 
12:39:00",2,0,"BUSY","DOCUMENTATION","1364819938.160106",""
Segue separado por campo abaixo para melhor compreensão :
     1  ""
     2  "20711490"
     3  "310001#557132110444"
     4  "portaone"
     5  """20711490"" <20711490>"
     6  "SIP/portatwo-0001326c"
     7  "DGV/2"
     8  "Hangup"
     9  ""
    10  "2013-04-01 12:38:58"
    11
    12  "2013-04-01 12:39:00"
    13  2
    14  0
    15  "BUSY"
    16  "DOCUMENTATION"
    17  "1364819938.160106"
    18  ""
Observe que o campo que utilizo para a busca o de número 12 tem duas 
informações separadas por espaço a data e a hora, ai está minha dificuldade, já 
tentei com o Sub, Split mas não cheguei ao resultado que queria, apenas as 
linhas de determinado período e uma determinada linha, se fosse para pegar todo 
período dos dois meses já estaria pronto, mas tenho a necessidade de pegar uma 
faixa de dias específicos a partir do meio do mês :-(




reply via email to

[Prev in Thread] Current Thread [Next in Thread]