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 <estudo_li...@yahoo.com.br> > > > 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 > <estudo_li...@yahoo.com.br<estudo_linux%40yahoo.com.br>> > escreveu: > > De: Adriano Nunes <estudo_li...@yahoo.com.br <estudo_linux%40yahoo.com.br> > > > > Assunto: Re: [shell-script] Captura de entradas especificas > Para: shell-script@yahoogrupos.com.br <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: ful...@mail. com.br > campo4: cccc > campo5: ddd > registro: 8 > campo7: xxxx > campo8: zzzz > (pula 1 linha) > > campo1: aaaa > campo2: bbbb > mail: cicr...@mail. com.br > campo4: cccc > campo5: ddd > registro: 1 > campo7: xxxx > campo8: zzzz > > (pula 1 linha) > > campo1: aaaa > campo2: bbbb > mail: beltr...@mail. com.br > (pula 1 linha)" | *grep -B5 -A2 'registro: 8'* > campo1: aaaa > campo2: bbbb > mail: ful...@mail. com.br > campo4: cccc > campo5: ddd > registro: 8 > campo7: xxxx > campo8: zzzz > -- > campo1: aaaa > campo2: bbbb > mail: beltr...@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: ful...@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: cicr...@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: beltr...@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]