Senhores, tenho alguma expriência em trabalhar com logs.
Ambas as formas são perfeitas e funcionais. Mas a dica real que quero dar é 
que, se o arquivo estiver muito grande, e você souber que ele vai estar no 
meio para baixo, use o tac ao innvés do cat. Se for no início, tudo bem, não 
será tão lento. Outra coisa, que ao menos em alguns bashs, o grep nãoa ceita 
er. Use o egrep para evitar a dúvida.

Ou seja:

cat  /var/log/syslog | egrep '^$mes $dia Shora\:$min\:'
ou
tac  /var/log/syslog | egrep '^$mes $dia Shora\:$min\:'

Lembrando que se o log for rotacionado e salvo em gz, use um zgrep.

[]'s
Gunter
----- Original Message ----- 
From: "mop" <[EMAIL PROTECTED]>
To: <shell-script@yahoogrupos.com.br>
Sent: Saturday, August 18, 2007 9:33 AM
Subject: Re: [shell-script] Expressão regular .. help !!


> Supondo que você não queira pegar só no dia 10 de agosto:
> grep ' 07:53:' /var/log/syslog |more
>
> Com o espaço antes da hora você evita qualquer mac address que coincida.
> Pelo que vejo só linhas com essa hora:minuto pode passar nesse filtro.
>
>
> ------------------------------------------------------------------
>>From: "aspenbr" <[EMAIL PROTECTED]>
>>Date: Sat, 18 Aug 2007 00:49:13 -0000
>>
>>Olá pessoal
>>
>>Sou nova na lista e acredito ser muito interessante uma lista de
>>discussão que aborda essa maravilhosa ferramenta (SHELL).
>>
>>Preciso de uma pequena ajuda, tenho uma saida de log do Iptables e
>>preciso colher uma informação especifica que é pacote que tenho um
>>determinado horário, olhem a saida abaixo
>>
>>Aug 10 07:56:38 slacklove kernel: INPUT_BLOQUEADOIN=eth0 OUT=
>>MAC=ff:ff:ff:ff:ff:ff:00:0a:e6:87:67:06:08:00 SRC=192.168.0.80
>>DST=192.168.0.255 LEN=229 TOS=0x00 PREC=0x00 TTL=128 ID=32851
>>PROTO=UDP SPT=138 DPT=138 LEN=209
>>Aug 10 07:57:06 slacklove kernel: INPUT_BLOQUEADOIN=eth0 OUT=
>>MAC=ff:ff:ff:ff:ff:ff:00:0a:e6:87:67:06:08:00 SRC=192.168.0.80
>>DST=192.168.0.255 LEN=234 TOS=0x00 PREC=0x00 TTL=128 ID=33538
>>PROTO=UDP SPT=138 DPT=138 LEN=214
>>
>>Quero pegar apenas os pacotes com horário das 07:53 e qualquer segundo
>>preso nessa condição. Tentei várias expressões e nada, não consigo
>>separar essa informação do restante, estou usando a seguinte expressão:
>>
>>grep -w 'Aug 10 07:53:*' /var/log/syslog |more
>>
>>E não funciona
>>
>>
>
>
>
> ---------------------------------------------------------------------
> 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: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> 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
>
> 

Responder a