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

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

Re: [shell-script] Captura de entradas especificas


From: Julio C. Neves
Subject: Re: [shell-script] Captura de entradas especificas
Date: Wed, 17 Jun 2009 12:11:28 -0300

Fala Adriano,
a opção -B do grep vem de Before e -A de After, assim sendo o grep pega 5
linhas antes e 2 depois e a linha em branco não tem nada a ver com isso.
Assim sendo, proponho que vc exclua todas as linhas em branco antes de fazer
a pesquisa. neste caso, o seu cmd ficaria assim:

grep -v '^ *$' | grep -B5 -A2 'registro: 8' | grep -v -- --

-- 
Abraços,
Julio
Cursos de Shell e Zenity?
- Em SP ligue (11) 2125-4747;
- Em DF ligue (61) 3223-3000;
- No RJ darei um treinamento em 23/07 (p/ detalhes ligue (21) 2561-0867);
- Turmas fechadas em outras cidades ligue (21) 8112-9988

2009/6/17 Adriano Nunes <address@hidden>

>
>
> Só complementando:
>
> Teria como eu determinar que as linhas em branco que são as delimitações
> tipo: grep -B(até a linha em branco)
>
> --- Em qua, 17/6/09, Adriano Nunes 
> <address@hidden<estudo_linux%40yahoo.com.br>>
> escreveu:
>
> De: Adriano Nunes <address@hidden <estudo_linux%40yahoo.com.br>
> >
>
> Assunto: Re: [shell-script] Captura de entradas especificas
> Para: address@hidden <shell-script%40yahoogrupos.com.br>
> Data: Quarta-feira, 17 de Junho de 2009, 14:31
>
>
> Belezura Galera!
> Ficou massa, mas tem um detalhe percebi que nos registros as vezes a
> entrada "registro: 8 e mail: " mudam de linha, então o esquema  grep -B5 -A2
> falha, alguém tem alguma ideia para resolver esse novo problema...rs ?
>
> --- Em qua, 17/6/09, Julio C. Neves <julio.neves@ gmail.com> escreveu:
>
> De: Julio C. Neves <julio.neves@ gmail.com>
> Assunto: Re: [shell-script] Captura de entradas especificas
> Para: shell-script@ yahoogrupos. com.br
> Data: Quarta-feira, 17 de Junho de 2009, 14:06
>
> Aê Adriano,
> no prompt:
>
> $ echo "campo1: aaaa
> campo2: bbbb
> mail: fulano@mail. com.br
> campo4: cccc
> campo5: ddd
> registro: 8
> campo7: xxxx
> campo8: zzzz
> (pula 1 linha)
>
> campo1: aaaa
> campo2: bbbb
> mail: cicrano@mail. com.br
> campo4: cccc
> campo5: ddd
> registro: 1
> campo7: xxxx
> campo8: zzzz
>
> (pula 1 linha)
>
> campo1: aaaa
> campo2: bbbb
> mail: beltrano@mail. com.br
> (pula 1 linha)" | *grep -B5 -A2 'registro: 8'*
> campo1: aaaa
> campo2: bbbb
> mail: fulano@mail. com.br
> campo4: cccc
> campo5: ddd
> registro: 8
> campo7: xxxx
> campo8: zzzz
> --
> campo1: aaaa
> campo2: bbbb
> mail: beltrano@mail. com.br
> campo4: cccc
> campo5: ddd
> registro: 8
> campo7: xxxx
> campo8: zzzz
>
> Se quiser tirar as linhas com --, basta ao final colocar* | grep -v -- --*,
> ficando assim
>
> *grep -B5 -A2 'registro: 8' | grep -v -- --*
>
> Onde o primeiro -- serve para dizer que encerram os parâmetros. Se isso não
> for feito, o grep reclamará a falta da cadeia (ou expressão regular) que
> ele
> deverá pesquisar, pois "acha" que -- é uma opção.
> --
> Abraços,
> Julio
> Cursos de Shell e Zenity?
> - Em SP ligue (11) 2125-4747;
> - Em DF ligue (61) 3223-3000;
> - No RJ darei um treinamento em 23/07 (p/ detalhes ligue (21) 2561-0867);
> - Turmas fechadas em outras cidades ligue (21) 8112-9988
>
> 2009/6/17 Adriano Nunes <estudo_linux@ yahoo.com. br>
>
> >
> >
> > Bom dia Galera!
> >
> > Estou precisando de uma ajuda na elaboração de um script, pesquisei na
> > internet, mas infelizmente não encontrei nada parecido.
> >
> > Vamos lá, tenho um arquivo no seguinte formato:
> >
> > ************ ********* ********* ********* ********* ********* *******
> > campo1: aaaa
> > campo2: bbbb
> > mail: fulano@mail. com.br <fulano%40mail. com.br>
> > campo4: cccc
> > campo5: ddd
> > registro: 8
> > campo7: xxxx
> > campo8: zzzz
> > (pula 1 linha)
> >
> > campo1: aaaa
> > campo2: bbbb
> > mail: cicrano@mail. com.br <cicrano%40mail. com.br>
> > campo4: cccc
> > campo5: ddd
> > registro: 1
> > campo7: xxxx
> > campo8: zzzz
> >
> > (pula 1 linha)
> >
> > campo1: aaaa
> > campo2: bbbb
> > mail: beltrano@mail. com.br <beltrano%40mail. com.br>
> > campo4: cccc
> > campo5: ddd
> > registro: 8
> > campo7: xxxx
> > campo8: zzzz
> >
> > (pula 1 linha)
> >
> > .... (segue mais ou menos ums 500 registros... rs)
> > ************ ********* ********* ********* ********* ********* *******
> >
> > Preciso que seja capturado os e-mails, apenas dos registros que tem o
> > numero 8.
> >
> > Alguém pode me ajudar, por gentileza!
> >
> > Valew galera do bem!
> >
> > Abraço.
> >
> > Veja quais são os assuntos do momento no Yahoo! +Buscados
> > http://br.maisbusca dos.yahoo. com
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbusca dos.yahoo. com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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