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

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

Re: Como contar linhas não repetidas num arquivo de log?


From: Cristiano Ferrari
Subject: Re: Como contar linhas não repetidas num arquivo de log?
Date: Sat, 08 Mar 2008 12:52:46 -0000
User-agent: eGroups-EW/0.82

--- Em address@hidden, "Tiago Barcellos Peczenyj"
<tiago.peczenyj@...> escreveu
>
> Não tem necessidade de colocar um off-topic no titulo, ate porque o
> mesmo é desencorajado na lista de forma veemente.
> 
> Da forma como eu fiz eu precisei desenvolver um algoritmo para este
> fim, da sua forma vc utilizou o minimo de cada ferramenta unix. ambas
> as formas são boas porém a minha é mais flexivel no que diz respeito a
> relatorios, posso florear o resultado ou coletar outros dados, porém a
> é mais simples e não depende de um algoritmo computacional explicito
> -- se eu errar a forma de tratar os arrays o meu resultado fica ruim.
> 
> IMHO ambas as formas tem serventia :)

Tiago, valeu a dica do OFF. Coloquei pois era um comentário que não
acrescentava à solução do problema e como comentários inúteis também
não são bem vindos, achei melhor classificar como off.

Sobre a diferença nos algorítimos, a questão da eficiência no
processamente também é um fator observar:

$ wc -l /var/log/squid/access.log
194093 /var/log/squid/access.log

$ time ./conta_users_tiago.sh /var/log/squid/access.log
qtde de usuarios: 18
renato
NONE/-
edson
helder
vanessa
thomas
-
vanderlei
adriana
silvestre
sandra
rodrigo
ferreirinha
jeova
carlos
lucio
administrador
cristiano

real    0m0.324s
user    0m0.300s
sys     0m0.020s

$ time ./conta_users_cristiano.sh /var/log/squid/access.log
18

real    0m3.853s
user    0m3.744s
sys     0m0.056s

Testado num log com 194093 linhas, meu script é quase 11 vezes mais
lento que o seu.

Quanto à dúvida do bossonaroesao06 (que nome, ein colega?), o $NF é
uma variável built-in do gawk que conta o número de campos do arquivo.
Como no teu exemplo o nome do user é o último campo, a posição dele
será igual à quantidade de campos. Se você quer a coluna 7, troca o
$NF por $7






reply via email to

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