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

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

Re: [shell-script] Como contar linhas não repetidas num arquivo de log?


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Como contar linhas não repetidas num arquivo de log?
Date: Sat, 8 Mar 2008 08:59:30 -0300

Facil se vc utilizar arrays associativos do awk

$ awk '{ nomes[$NF]++ }
END{ print "qtde de usuarios: "length(nomes)
for (i in nomes) print i }' arquivo.log

qtde de usuarios: 4
renato
marcos
adriano
andre

se quiser quantas vezes cada nome aparece, imprima nomes[i] também

[]´s T

2008/3/8 bossonaroesao06 <address@hidden>:
>
>
>
>
>
>
> Bom dia...
>
>  Tenho um arquivo de log no seguinte formato:
>
>  1ªcoluna: DATA/HORA (nesse formato maluco aí)
>  2ªcoluna: IP
>  3ªcoluna: USER
>
>  Exemplo:
>  #======================================#
>  1204883891.466 192.168.10.76 andre
>  1204883891.467 192.168.10.71 andre
>  1204883891.468 192.168.10.26 marcos
>  1204883891.469 192.168.10.11 renato
>  1204883891.469 192.168.10.76 andre
>  1204883891.470 192.168.10.71 andre
>  1204884017.599 192.168.10.26 adriano
>  1204884233.373 192.168.10.11 renato
>  #======================================#
>
>  Eu gostaria de saber o número de usuários nesse log sem repetir.
>
>  No exemplo acima tenho os usuários na terceira coluna mas eu não
>  posso simplesmente contar as linhas pois eles se repetem.
>
>  Eu gostaria de fazer um script para contar esses usuários no arquivo
>  de log de forma que a resposta para o exemplo acima fosse 04 (
>  andre, marcos, renato, adriano) sem repetir as ocorrências de cada
>  um deles.
>
>  Alguem poderia me ajudar?
>  Obrigado pela atenção
>  Adriano
>
>  



-- 
Tiago B Peczenyj
Linux User #405772

http://peczenyj.blogspot.com/
"what does not kill us makes us stronger"


reply via email to

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