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

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

Re: [shell-script] Como fazer?


From: Moacir Souza
Subject: Re: [shell-script] Como fazer?
Date: Mon, 21 Dec 2009 20:26:16 -0200

     Laercio,

     Tem um sed que eu costumo usar bastante e que pode te ajudar
nesse caso. Veja:

     Primeiro eu peguei o seu arquivo e modifiquei um pouco, para que
os dados fiquem mais úteis para fins do exemplo:

$ cat dump
00:00:01: bla bla bla...
linha1
linha2
address@hidden

00:00:02: bla bla bla...
linha1
linha2
linha3
linha4
address@hidden

00:00:03: bla bla bla...
linha1
address@hidden

00:00:04: bla bla bla...
linha1
address@hidden

     A estrutura básica do comando sed é essa: sed -e '/./{H;$!d;}' -e
'x;/padraoDeBusca/!d;' arquivo. Deve ter ficado óbvio, mas as palavras
"padraoDeBusca" e "arquivo" devem ser substituídas pelo que se deseja
buscar e onde se deseja buscar, respectivamente. Agora a gente começa
a fazer uma gracinha:

$ sed -e '/./{H;$!d;}' -e 'x;/address@hidden/!d;' dump

0:00:01: bla bla bla...
linha1
linha2
address@hidden

     Note que apenas o bloco contendo o padrão address@hidden foi
retornado e agora é uma questão de usar o grep para pegar o padrão das
horas, desse jeito:

$ sed -e '/./{H;$!d;}' -e 'x;/address@hidden/!d;' dump | grep ^[0-9][0-9]:

00:00:01: bla bla bla...

     O código de estende para qualquer quantidade de entradas do padrão, veja:

$ sed -e '/./{H;$!d;}' -e 'x;/address@hidden/!d;' dump | grep ^[0-9][0-9]:
00:00:03: bla bla bla...
00:00:04: bla bla bla...

     Por fim, para que se dê os nomes aos bois, o local onde eu
aprendi esse truque foi aqui [1] (sempre tenho essa página a mão para
eventuais referências).

[1] Link: http://www.linuxhowtos.org/System/sedoneliner.htm?ref=news.rdf

Abraços,
Moacir Filho

2009/12/21 Julio C. Neves <address@hidden>:
> Fala Laercio,
> do jeito que vc fez a pergunta, vc já eliminou mais da metade das respostas
> da lista, pois vc precisa de dios IPs e não dá nenhuma dica de como
> encontrá-los. Assim, somente os que conhecem o tcpdump, se tiverem saco de
> pesquisar, é que poderão responder à sua pergunta.
>
> De acordo com seu enunciado, dá para te mostrar como pegar o horário e o
> endereço de email. Com isso vc se vira para adaptar isso ao que vc quer, pq
> euzinho é que não vou me virar.
>
> paste <(grep -E '(^[0-9]{2}:){4} arq) <(grep
> '^[0-9A-Za-z_]+@[0-9A-Za-z_]+\.[0-9A-Za-z_]{3})
>
> Pode ser que eu tenha esquecido de incluir algum caracter válido na lista.
>
> Feliz Natal,
> Julio
> Cursos de Shell e Zenity em 2 fins de semana?
> - Em DF ligue (61) 3223-3000 Curso de zenity 09-10/01;
> - Turmas fechadas em outras cidades ligue (21) 8112-9988.
>
>
> 2009/12/21 Laercio Motta <address@hidden>
>
>>
>>
>> Boa tarde amigos..
>> é o seguinte..
>>
>> tenho um arquivo de dump(tcpdump)
>>
>> digamos que ele esteja assim:
>>
>> 00:00:00: bla bla bla...
>> linha1
>> linha2
>> address@hidden <email%40provedor.com.br>
>>
>> 00:00:00: bla bla bla...
>> linha1
>> linha2
>> linha3
>> linha4
>> address@hidden <email%40provedor.com.br>
>>
>> 00:00:00: bla bla bla...
>> linha1
>> address@hidden <email%40provedor.com.br>
>>
>> acho que intederam né? não tem uma linha fixa para o email@provedor esta..
>> blz.. até ae tudo bem..
>> só que eu quero saber o horario que o e-mail apareceu e o ip de origem e de
>> destino..
>> no caso teria que achar o email e procurar "para traz" qual linha pertece a
>> ele..
>> como seria o jeito de se fazer?? nao tenho a minima ideia de como fazer
>> isso..
>>
>> Obrigado e aguardo respostas..
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>
>>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> 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
>
>
>



-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Moacir da Cruz Souza Filho

-Analista de Sistemas: Suporte Unix Avançado
Serviço Federal de Processamento de Dados

-Mestrando em Ciências da Computação
Universidade de Brasília

-Bacharel em Engenharia da Computação
Escola Politécnica de Pernambuco
Universidade de Pernambuco

-Técnico em Eletrônica
Escola Técnica Federal de Pernambuco

-Linux user #449600
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


reply via email to

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