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: Alain M.
Subject: Re: [shell-script] Como contar linhas não repetidas num arquivo de log?
Date: Sat, 08 Mar 2008 13:09:35 -0300
User-agent: Thunderbird 2.0.0.6 (X11/20070728)

Oi Adriano,

Eu não vou te dar o código, mas gostaria de explicar uma coisa:

O grande segredo em shell script, é fazer as coisas por partes:

1) Elimine o que não interessa: use o cut
2) Elimine os repetidos: use o sort com opção unique
3) Agora é só contar o que sobrou: use o wc

Vai fazendo um comando provez, no final cabe tudo em uma linha:

cat lista.txt | cut -d ' ' -f 5 | sort --unique | wc -l

OBS: não ficou muito elegante o comando cut, o motivo é que tem 2 espaços seguidos. Talvez alguém possa dar uma dica de como usar multiplos espaços como delimitador...

Alain

bossonaroesao06 escreveu:
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



---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

Links do Yahoo! Grupos




reply via email to

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