Então Alexandre, pode ser que estejamos sofrendo com problemas de 
formatação da lista de e-mails, pois eu tenho absoluta certeza que esse 
comando funciona, também utilizo Redhat el5.4, só se vc estiver 
utilizando alguma versão muita antiga que não tenha suporte para alguns 
dos comandos que eu utilizei.
Como vc viu eu colei o meu teste, ele realmente foi executado.

Mas o meu comando não filtra o MAC, ele seleciona apenas as ocorrências 
que vc pediu e dessa forma conseguente mente filtra qualquer outra 
coisa, inclusive o MAC=.

Se vc tiver certeza que a únicas linhas que vc deseja filtrar são essas 
que começam com MAC= ai fica bem mais simples.

cat t|egrep -v '^MAC='
Se não funcionar significa que a linha não começa com "MAC=" dai vc pode 
tentar descobrir qual é o verdadeira caracter que tem no inicio da linha 
ou mandar ele rejeitar qualquer linha que contenha "MAC=" da seguinte forma:
cat t|egrep -v 'MAC='

Se não funfar chama o padre pois o kapeta tá no teu pc heheh

Agora quanto ao seu comando ele está com erros de lógica,veja:
########################################################################
tail -5 t|grep kernel|grep RECUSOU|awk '{$9="";print "<b>Hora:" $3 
"A&ccedil;&atilde;o: </b>" $6 " " $10 " " $11;}'

Dessa forma o resultado foi

<b>Hora:15:27:15 A&ccedil;&atilde;o: </b>INT-RECUSOU-tcp 
DST=189.72.115.23 LEN=48
<b>Hora:15:27:37 A&ccedil;&atilde;o: </b>INT-RECUSOU-tcp 
DST=189.72.115.24 LEN=48
<b>Hora:15:27:46 A&ccedil;&atilde;o: </b>SERV-RECUSOU-udp 
SRC=61.44.213.54 DST=10.1.1.254

Reparem nas primeiras linhas. Listou apenas DST e não as colunas SRC e DST.
Eu estou querendo eliminar a coluna do MAC inteira, tratando como se nunca
tivesse existido a coluna MAC=.

#########################################################################
Esse primeiro grep que vc fez já matou qualquer linha que não contenha a 
palavra "kernel" o segundo pega o que sobrou e mata qualquer uma que não 
tenha "RECUSOU" dai passa a saida para o awk formatar, ou seja, você tá 
matando as linhas antes que elas possam chegar ao seu awk, por isso que 
as SRC e DST não saem, pode fazer o teste:

tail -5 t|grep kernel|grep RECUSOU

Você vai ver que já não tem todas as linhas que vc quer.

Outra questão e que mesmo que vc passe essas linhas para o awk não vai 
ficar como você quer pois cada tipo de linha tem uma estrutura diferente 
pelo que percebi e dessa forma as referencias de $1 $10 etc não vaão ser 
sempre as mesmas.

Escrevendo isso passei a ter certeza absoluta que nosso problema é a 
formatação da lista de e-mail.

utilize o site http://pastebin.com para colar toda a parte que é 
referente a comandos assim poderemos ajudar com maior facilidade.
Abraços


Alexandre Gorges escreveu:
>
> Fala Lawrence.
>
> Eu chamo esse tail por html. Então fica listando no navegador o log.
> Como acontece de aparecer MAC em alguns logs, eu não consigo pegar por 
> awk,
> os campos depois do MAC, corretamente.
> Então estou tentando retirar o MAC=..... Que pode aparecer em determinadas
> linhas para que assim, via awk eu consiga montar as informações.
>
> Testei o seu comando aqui no meu Redhat e aparentemente não filtrou o mac.
>
> cat t| egrep -e '^SRC=' -e '^DST=' -e '^SPT=' -e '^DTP=' -e
> '^[JFMASOND][a-z]{2} [0-9]{2} ' -e '-RECUSOU-' -e '^ID' -e ' PROTO='
> Apr 27 15:27:15 server kernel: INT-RECUSOU-tcp IN=eth1 OUT=eth0
> SRC=172.16.19.10 DST=189.72.115.23 LEN=48 TOS=0x00 PREC=0x00 TTL=127
> ID=42626 DF PROTO=TCP SPT=3855 DPT=445 WINDOW=65535 RES=0x00 SYN URGP=0
> Apr 27 15:27:37 server kernel: INT-RECUSOU-tcp IN=eth1 OUT=eth0
> SRC=172.16.19.10 DST=189.72.115.24 LEN=48 TOS=0x00 PREC=0x00 TTL=127
> ID=42641 DF PROTO=TCP SPT=3857 DPT=445 WINDOW=65535 RES=0x00 SYN URGP=0
> Apr 27 15:27:46 server kernel: SERV-RECUSOU-udp IN=eth0 OUT=
> MAC=00:01:02:77:39:e5:00:18:d1:e1:6c:69:08:00 SRC=61.44.213.54
> DST=10.1.1.254 LEN=131 TOS=0x00 PREC=0x00 TTL=106 ID=5960 PROTO=UDP
> SPT=34422 DPT=61673 LEN=111
>
> A ultima linha ainda constou o MAC=....
>
> Com um awk que eu montei, até consigo filtrar o MAC=..., mas o que 
> vier após
> fica errado.
>
> Veja
>
> tail -5 t|grep kernel|grep RECUSOU|awk '{$9="";print "<b>Hora:" $3 "
> A&ccedil;&atilde;o: </b>" $6 " " $10 " " $11;}'
> <b>Hora:15:27:15 A&ccedil;&atilde;o: </b>INT-RECUSOU-tcp DST=189.72.115.23
> LEN=48
> <b>Hora:15:27:37 A&ccedil;&atilde;o: </b>INT-RECUSOU-tcp DST=189.72.115.24
> LEN=48
> <b>Hora:15:27:46 A&ccedil;&atilde;o: </b>SERV-RECUSOU-udp SRC=61.44.213.54
> DST=10.1.1.254
>
> As duas primeiras linhas, listaram DST=.... E LEN=.... Essas duas 
> linhas não
> tem MAC=.... Aparecendo. Na ultima linha o SRC=... E DST=.... Apareceram
> corretamente.
>
> []'s
> Alexandre Gorges
> http://www.google.com.br/profiles/algorges 
> <http://www.google.com.br/profiles/algorges>
> MSN/Gtalk/iCHAT/Skype/Buzz: [email protected] 
> <mailto:algorges%40gmail.com>
> ICQ: 2031408
>
> > From: Lawrence Waclawiak <[email protected] 
> <mailto:lawrencebbw%40yahoo.com.br>>
> > Reply-To: Lista Shell Script <[email protected] 
> <mailto:shell-script%40yahoogrupos.com.br>>
> > Date: Tue, 27 Apr 2010 16:57:59 -0300
> > To: Lista Shell Script <[email protected] 
> <mailto:shell-script%40yahoogrupos.com.br>>
> > Subject: Re: [Bulk] [shell-script] Filtrar MAC do log do iptables
> >
> > '^ID' -e ' PROTO='
>
> 




------------------------------------

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

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [email protected]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a