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

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

Re: RES: [shell-script] Grep apurado


From: Alexandre
Subject: Re: RES: [shell-script] Grep apurado
Date: Tue, 20 May 2003 12:43:00 -0300

ola Pessoal,
acho que não estou me expressando bem ...

meus arquivos de log estao com seus conteudos dessa forma:


200.205.90.20 - - [20/May/2003:09:00:13 -0300] "POST /logo/logo.gif HTTP/1.0" 
200 7028
200.223.100.2 - - [20/May/2003:09:00:13 -0300] "GET /imagens/brasao.gif 
HTTP/1.1" 304 -
200.223.100.2 - - [20/May/2003:09:00:13 -0300] "GET /imagens/brasao4.gif 
HTTP/1.1" 304 -
200.223.100.2 - - [20/May/2003:09:00:13 -0300] "GET /imagens/gesp.gif HTTP/1.1" 
304 -

200.190.2.174 - - [25/Aug/2002:11:07:37 -0300] "GET /ca.docs/login.html 
HTTP/1.1" 304 -
200.190.2.174 - - [25/Aug/2002:11:07:38 -0300] "GET /imagens/brasao4.gif 
HTTP/1.1" 304 -
200.190.2.174 - - [25/Aug/2002:11:07:38 -0300] "GET /imagens/black.gif 
HTTP/1.1" 304 -


porem, são muitos arquivos de 10 MB cada um.
1075 pra ser mais exato
então, preciso abrir arquivo por arquivo, ver quais tem conteudo de 2003 e 
separar num outro arquivo.
depois , desses de 2003, separar somente os de Maio e Abril e geral um segundo 
arquivo.
à partir daí posso trabalhar as informações.

obrigado pela ajuda pessoal.

Alexandre



Julio Cezar Neves - DATAPREVRJ wrote:

> Otimizando a sua linha, ela ficaria assim:
>
> grep -i -n -l '^2003' transfer_log.* > logs-2003
>
> porém:
> - a opção -i (ignora maiúsculas/minúsculas) não faz sentido com números
> (2003);
> - a opçao -n devolve o número da linha em que a cadeia foi encontrada;
> - a opção -l devolve somente o nome do programa e elimina a opção anterior.
>
> Desta forma se vc fizer:
>
> grep -n '^2003' transfer_log.* > logs-2003
>
> vc terá em logs-2003 algo assim:
>
> transfer_log.xxxx:12:2003....
> transfer_log.xxxx:15:2003....
> transfer_log.yyyy:2:2003....
> transfer_log.yyyy:123:2003....
>
> Onde:
> transfer_log.xxxx e transfer_log.yyyy são os arquivos com a ocorrencia de
> 2003;
> 12, 15, 2 e 123 são as linhas dos respectivos arquivos onde houve a
> ocorrencia;
> 2003.... é o registro da ocorrencia pp dito.
>
> Desta maneira, vc poderia trabalhar estes campos de logs-2003. Mas não sei
> se isso satisfaz.
>
> [ ]s,
> Julio Cezar Neves
> -Eu Apoio o Software Livre-
> -I Support Free Software-
> * +55 21 2528-7070  /  9853-4044
> *address@hidden
>
> > -----Mensagem original-----
> > De: Alexandre [mailto:address@hidden]
> > Enviada em: terça-feira, 20 de maio de 2003 09:32
> > Para: address@hidden
> > Assunto: [shell-script] Grep apurado
> >
> >
> > olá pessoal,
> > Semana passada, mandei uma questão a respeito de um tratamento de logs
> > pois eu precisava fazer um filtro por data de criação do arquivo.
> > porem, não deu certo pois o conteudo dos aquivos não bate com
> > a data de
> > criação deles.
> > ex:
> > arquivo com data de maio de 2003 tem informações de agosto de 2002.
> > esses logs foram rotacionados ...
> >
> > estou tentanto um cat com grep mas nao consegui isolar as palavras
> > "2003", "May" e "Apr".
> > meu bash é 2.02.0(1).
> > os comandos que eu tentei foram esses :
> >
> > cat transfer_log.* |grep -i -n -l '^2003' > logs-2003
> >
> > cat transfer_log.* |grep -i -n -l "^2003" > logs-2003
> >
> > alguem pode ajudar ?
> >
> > obrigado
> >
> >
> > ---------------------------------------------------------------------
> > 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.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html
>
> ---------------------------------------------------------------------
> 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.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em: 
> http://br.yahoo.com/info/utos.html

reply via email to

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