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: Adriano Nunes
Subject: Re: [shell-script] Captura de entradas especificas
Date: Thu, 18 Jun 2009 10:03:53 -0700 (PDT)

Ae Galera do bem, muito obrigado pelas sugestões, com a ajuda de vocês 
conseguir elaborar o que eu estava precisando!

Abraço!

--- Em qua, 17/6/09, Flavio Junior <address@hidden> escreveu:

De: Flavio Junior <address@hidden>
Assunto: Re: [shell-script] Captura de entradas especificas
Para: address@hidden
Data: Quarta-feira, 17 de Junho de 2009, 19:00











    
            
            


      
      Ah..



So troca o ~ /8/ ali por



$NF == 8



Se não ele pega 88, 28, 98, 80000 ...



--



Flávio do Carmo Júnior aka waKKu



2009/6/17 Flavio Junior <billpp@gmail. com>



> [root@muttley ~]# cat x

> campo1: aaaa

> campo2: bbbb

> mail: fulano@mail. com.br

> campo4: cccc

> campo5: ddd

> registro: 8

> campo7: xxxx

> campo8: zzzz

>

> campo1: aaaa

> campo2: bbbb

> mail: cicrano@mail. com.br

> campo4: cccc

> campo5: ddd

> registro: 1

> campo7: xxxx

> campo8: zzzz

>

> campo1: aaaa

> campo2: bbbb

> mail: beltrano@mail. com.br

> campo4: cccc

> campo5: ddd

> registro: 8

> campo7: xxxx

> campo8: zzzz

>

> [root@muttley ~]# grep -E '^(mail|registro) :' x | paste - - | awk '$NF ~

> /8/{print $2}'

> fulano@mail. com.br

> beltrano@mail. com.br

> [root@muttley ~]#

>

>

> Uma ideia..

>

> --

>

> Flávio do Carmo Júnior aka waKKu

>

> 2009/6/17 Cléoson Barreto <cleoson.barreto@ gmail.com>

>

>

>>

>> Olá!

>>

>> Fiz esse pequeno script. Eu pego blocos do arquivo tendo como

>> delimitadores desde a linha 1 do arquivo até a primeira linha em branco e

>> jogo em uma variável ($bloco). Depois, excluo esse bloco do arquivo

>> original

>> e repito o processo até que o arquivo original fique vazio.

>>

>> --- script ---

>> cleoson@cleoson: ~$ cat teste.sh

>> #!/bin/bash

>>

>> cp arq.txt{,.$$ }

>> teste=0

>>

>> while [ "$teste" -eq "0" ]

>> do

>> bloco=`sed -n '1,/^ /p' arq.txt.$$`

>> sed -n -i '1,/^ /!p' arq.txt.$$

>> grep -q "registro: 8" <<< "$bloco" && grep mail <<< "$bloco"

>> [ ! -s arq.txt.$$ ] && teste=1

>> done

>> rm -f arq.txt.$$

>> ------

>>

>> --- execução do script ---

>> cleoson@cleoson: ~$ ./teste.sh

>>

>> mail: fulano@mail. com.br <fulano%40mail. com.br>

>> mail: beltrano@mail. com.br <beltrano%40mail. com.br>

>> ------

>>

>> --- arquivo original ---

>> cleoson@cleoson: ~$ cat arq.txt

>> campo1: aaaa

>> campo2: bbbb

>> mail: fulano@mail. com.br <fulano%40mail. com.br>

>> campo4: cccc

>> campo5: ddd

>> registro: 8

>> campo7: xxxx

>> campo8: zzzz

>>

>> campo1: aaaa

>> campo2: bbbb

>> mail: cicrano@mail. com.br <cicrano%40mail. com.br>

>> campo4: cccc

>> campo5: ddd

>> registro: 1

>> campo7: xxxx

>> campo8: zzzz

>>

>> campo1: aaaa

>> campo2: bbbb

>> mail: beltrano@mail. com.br <beltrano%40mail. com.br>

>> campo4: cccc

>> campo5: ddd

>> registro: 8

>> campo7: xxxx

>> campo8: zzzz

>> ------

>>

>> []'s

>> Cléoson.

>> http://farinhadigit al.blogspot. com/

>>

>> 2009/6/17 Adriano Nunes <estudo_linux@ yahoo.com. br<estudo_linux% 
>> 40yahoo.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_linux@ yahoo.com. 
>> > br<estudo_linux% 40yahoo.com. br>

>> <estudo_linux% 40yahoo.com. br>>

>> > escreveu:

>> >

>> > De: Adriano Nunes <estudo_linux@ yahoo.com. br<estudo_linux% 40yahoo.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><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]

>>

>>  

>>

>

>



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



reply via email to

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