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 > >