Ir direto para busca.
sed-br · Lista sobre SED e Expressões Regulares

Informações sobre o grupo

? Você já é um associado? Entre no Yahoo!

Dicas

Você sabia...
Você pode receber várias mensagens em um único e-mail. Basta configurar suas opções de entrega de e-mail.

Mensagens

  Ajuda
Avançado
mensagens 4191 - 4220 de 5042   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
mensagens 4191 - 4220 de 5042   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
mensagens: Exibir resumo de mensagens Classificar por data ^  
#4191 De: "Rafael Pereira" <halies@...>
Data: Ter, 17 de Mar de 2009 5:48 am
Assunto: Re: Capturar data
narcoticii
Enviar e-mail Enviar e-mail
 
Em Mon, 16 Mar 2009 15:22:21 -0400, Aurélio Jargas <verde@...>
escreveu:
> Oi Rafael,
>
> Bela explicação mesmo, parabéns!
>
> Só tenho uma dica de melhoria: Se você usar um endereço vazio no s///,
> o sed automaticamente usa o último endereço casado. Isso vem desde os
> primórdios de sed, então é seguro de usar.

Hehehe, eu sabia que existia uma forma mais simples. :)

[]s
Rafael

#4192 De: "Diego Mancilha" <diegomancilha@...>
Data: Ter, 31 de Mar de 2009 3:55 pm
Assunto: Dificuldade em restringir a busca.
diegomancilha
Enviar e-mail Enviar e-mail
 
Tenho o seguinte texto:

1N5027841N;2N194.652N;3NNULL3N;4N90604N;5NNULL5N;6N2009-03-31
08:28:15.9494076N;7NNULL7N;8NEXB8N;9NNULL9N;11N111N;12NNULL12N;

e quero encontrar o seguinte trecho, que sempre se encontra no início:

1N5027841N;

Então elaborei a seguinte expressão: '^([0-9]+[ABCN]).+\1[;]'

O problema é que é encontrado o seguinte:
1N5027841N;2N194.652N;3NNULL3N;4N90604N;5NNULL5N;6N2009-03-31
08:28:15.9494076N;7NNULL7N;8NEXB8N;9NNULL9N;11N111N;

Tentei utilizar caracteres não gulosos mas não deu muito certo e não consegui
resolver... acho que não os utilizei corretamente...

Quando ao '.*' infelizmente eu preciso que seja aceito tudo entre os
delimitadores de inicio e fim...

Se alguém tiver uma dica....

#4193 De: "Marlon V. Reck" <marlon_mca@...>
Data: Ter, 31 de Mar de 2009 4:21 pm
Assunto: Re: Dificuldade em restringir a busca.
marlon_mca
Enviar e-mail Enviar e-mail
 
Boa tarde

	 Amigo  não entendi bem se vc quer a string "1N5027841N" ou algo parecido que
sempre vai estar no mesmo campo, então fiz algo pras duas coisas.
	 Se seu arquivo sempre for composto por linhas como a que vc mandou pra lista,
que deu a entendeu que seus campos são delimitados por " ; ", tente um cut -d
";" -f 1 arquivo.txt.

$ cat teste


1N5027841N;2N194.652N;3NNULL3N;4N90604N;5NNULL5N;6N2009-03-31
08:28:15.9494076N;7NNULL7N;8NEXB8N;9NNULL9N;11N111N;12NNULL12N;

  $ sed -n '/1N5027841N;/p' teste |cut -d ";" -f 1
1N5027841N

ou simples
cut -d ";" -f 1 teste

  1N5027841N





Atenciosamente
Marlon V. Reck

> Tenho o seguinte texto:
>
> 1N5027841N;2N194.652N;3NNULL3N;4N90604N;5NNULL5N;6N2009-03-31
> 08:28:15.9494076N;7NNULL7N;8NEXB8N;9NNULL9N;11N111N;12NNULL12N;
>
> e quero encontrar o seguinte trecho, que sempre se encontra no início:
>
> 1N5027841N;
>
> Então elaborei a seguinte expressão: '^([0-9]+[ABCN]).+\1[;]'
>
> O problema é que é encontrado o seguinte:
> 1N5027841N;2N194.652N;3NNULL3N;4N90604N;5NNULL5N;6N2009-03-31
> 08:28:15.9494076N;7NNULL7N;8NEXB8N;9NNULL9N;11N111N;
>
> Tentei utilizar caracteres não gulosos mas não deu muito certo e não
> consegui resolver... acho que não os utilizei corretamente...
>
> Quando ao '.*' infelizmente eu preciso que seja aceito tudo entre os
> delimitadores de inicio e fim...
>
> Se alguém tiver uma dica....

#4194 De: "Diego Mancilha" <diegomancilha@...>
Data: Ter, 31 de Mar de 2009 4:52 pm
Assunto: Re: Dificuldade em restringir a busca.
diegomancilha
Enviar e-mail Enviar e-mail
 
Na verdade estou buscando esse valor de um banco de dados...
E esse valor pode ser variável...

O texto que quero encontrar "1N5027841N" pode ser variável e possui o seguinte
formato:

[0-9]+[ABCN] ou seja o 1N é a abertura de uma tag, vamos exemplificar assim...

.* no caso do exemplo é o valor "502784", no entanto neste caso é um número mas
eu posso vir a ter aqui qualquer coisa... inclusive ponto e vírgula, e por isso
não posso quebrar por ";" pra separar

\1[;] é o retrovisor pro 1N contendo um ponto e vírgula indicando que a tag foi
fechada.

O negócio é meio chatinho...

Mas valeu a tentativa...

--- Em sed-br@..., "Marlon V. Reck" <marlon_mca@...> escreveu
>
>
>  Boa tarde
>
>  Amigo  não entendi bem se vc quer a string "1N5027841N" ou algo parecido que
> sempre vai estar no mesmo campo, então fiz algo pras duas coisas.
>  Se seu arquivo sempre for composto por linhas como a que vc mandou pra lista,
> que deu a entendeu que seus campos são delimitados por " ; ", tente um cut -d
> ";" -f 1 arquivo.txt.
>
> $ cat teste
>
>
> 1N5027841N;2N194.652N;3NNULL3N;4N90604N;5NNULL5N;6N2009-03-31
> 08:28:15.9494076N;7NNULL7N;8NEXB8N;9NNULL9N;11N111N;12NNULL12N;
>
>  $ sed -n '/1N5027841N;/p' teste |cut -d ";" -f 1
> 1N5027841N
>
> ou simples
> cut -d ";" -f 1 teste
>
>  1N5027841N
>
>
>
>
>
> Atenciosamente
> Marlon V. Reck
>
> > Tenho o seguinte texto:
> >
> > 1N5027841N;2N194.652N;3NNULL3N;4N90604N;5NNULL5N;6N2009-03-31
> > 08:28:15.9494076N;7NNULL7N;8NEXB8N;9NNULL9N;11N111N;12NNULL12N;
> >
> > e quero encontrar o seguinte trecho, que sempre se encontra no início:
> >
> > 1N5027841N;
> >
> > Então elaborei a seguinte expressão: '^([0-9]+[ABCN]).+\1[;]'
> >
> > O problema é que é encontrado o seguinte:
> > 1N5027841N;2N194.652N;3NNULL3N;4N90604N;5NNULL5N;6N2009-03-31
> > 08:28:15.9494076N;7NNULL7N;8NEXB8N;9NNULL9N;11N111N;
> >
> > Tentei utilizar caracteres não gulosos mas não deu muito certo e não
> > consegui resolver... acho que não os utilizei corretamente...
> >
> > Quando ao '.*' infelizmente eu preciso que seja aceito tudo entre os
> > delimitadores de inicio e fim...
> >
> > Se alguém tiver uma dica....
>

#4195 De: Halder FLUGEL <hflugel@...>
Data: Ter, 31 de Mar de 2009 5:30 pm
Assunto: Re: Dificuldade em restringir a busca.
hflugel@...
Enviar e-mail Enviar e-mail
 
Salve Diego.

       Acredito que o que você precisa é o seguinte:

       echo
"1N5027841N;2N194.652N;3NNULL3N;4N90604N;5NNULL5N;6N2009-03-3108:28:15.9494076N;\
7NNULL7N;8NEXB8N;9NNULL9N;11N111N;12NNULL12N;"
  | sed 's/^\([^;]*\).*/\1/'



       Resultado - 1N5027841N.


       Se você necessita que a vírgula fique use o seguinte:

             echo
"1N5027841N;2N194.652N;3NNULL3N;4N90604N;5NNULL5N;6N2009-03-3108:28:15.9494076N;\
7NNULL7N;8NEXB8N;9NNULL9N;11N111N;12NNULL12N;"
  | sed 's/^\([^;]*.\).*/\1/'

       Resultado - 1N5027841N;.

abraços
Halder Flugel




              "Diego
              Mancilha"
              <diegomancilha@                                          Para
              yahoo.com.br>           sed-br@...
              Enviado por:                                               cc
              sed-br@yahoogru
              pos.com.br                                            Assunto
                                      [sed-br] Dificuldade em restringir a
                                      busca.
              31 Mar 2009
              12:55

              Tamanho do
              Email:20414



              Favor responder
                     a
              sed-br@yahoogru
                pos.com.br











  Tenho o seguinte texto:

  1N5027841N;2N194.652N;3NNULL3N;4N90604N;5NNULL5N;6N2009-03-31
  08:28:15.9494076N;7NNULL7N;8NEXB8N;9NNULL9N;11N111N;12NNULL12N;

  e quero encontrar o seguinte trecho, que sempre se encontra no início:

  1N5027841N;

  Então elaborei a seguinte expressão: '^([0-9]+[ABCN]).+\1[;]'

  O problema é que é encontrado o seguinte:
  1N5027841N;2N194.652N;3NNULL3N;4N90604N;5NNULL5N;6N2009-03-31
  08:28:15.9494076N;7NNULL7N;8NEXB8N;9NNULL9N;11N111N;

  Tentei utilizar caracteres não gulosos mas não deu muito certo e não consegui
  resolver... acho que não os utilizei corretamente...

  Quando ao '.*' infelizmente eu preciso que seja aceito tudo entre os
delimitadores
  de inicio e fim...

  Se alguém tiver uma dica....
  _._,_.___










-----------------------------------------
This E-mail is confidential. It may also be legally
privileged. If you are not the addressee you may not
copy, forward, disclose or use any part of it. If
you have received this message in error, please delete
it and all copies from your system and notify the sender
immediately by return E-mail.
Internet communications cannot be guaranteed to be timely,
secure, error or virus-free. The sender does not accept
liability for any errors or omissions.
"SAVE PAPER - THINK BEFORE YOU PRINT!"

Esta mensagem pode conter informações confidenciais e/ou
privilegiadas. Se você não for o destinatário ou a pessoa
autorizada a recebê-la, não pode usar, copiar ou divulgar
as informações nela contidas ou tomar qualquer ação baseada
nelas. Se você recebeu esta mensagem por engano, por favor,
avise imediatamente o remetente, e em seguida, apague-a.
Comunicações pela Internet não podem ser garantidas quanto
à segurança ou inexistência de erros ou de vírus.
O remetente, por esta razão, não aceita responsabilidade por
qualquer erro ou omissão no contexto da mensagem decorrente
da transmissão via Internet.
"ECONOMIZE PAPEL - PENSE ANTES DE IMPRIMIR!"

#4196 De: jimmy <ronaldo_tgz@...>
Data: Ter, 31 de Mar de 2009 5:58 pm
Assunto: Re: Re: Dificuldade em restringir a busca.
ronaldo_tgz
Enviar e-mail Enviar e-mail
 
On Tue, Mar 31, 2009 at 04:52:10PM -0000, Diego Mancilha wrote:
> Na verdade estou buscando esse valor de um banco de dados...
> E esse valor pode ser variável...
>
> O texto que quero encontrar "1N5027841N" pode ser variável e possui o seguinte
formato:
>
> [0-9]+[ABCN] ou seja o 1N é a abertura de uma tag, vamos exemplificar assim...
>
> .* no caso do exemplo é o valor "502784", no entanto neste caso é um número
mas eu posso vir a ter aqui qualquer coisa... inclusive ponto e vírgula, e por
isso não posso quebrar por ";" pra separar
>
> \1[;] é o retrovisor pro 1N contendo um ponto e vírgula indicando que a tag
foi fechada.
>
> O negócio é meio chatinho...

também não entendi muito bem o que você quer mas acho que o problema é
que você precisa casar uma regex até a primeira ocorrência da expressão
seguinte que no caso seria você informar .* e ele casar até a primeira
ocorrência de 1N e não até a última; bom isso eu só vi em perl com .*?
mas em sed a única forma que conheço é colocar uma marca para delimitar
o limite da minha regex:

echo '1N5027841N;2N194.652N;3NNULL3N;4N90604N;5NNULL5N;6N2009-03-31
08:28:15.9494076N;7NNULL7N;8NEXB8N;9NNULL9N;11N111N;12NNULL12N;' |
sed -r 's/1N/&\n/2;s/^([^\n]+)\n.*$/\1/'

onde eu marco a segunda ocorrência do "1N", uma vez que você disse que
isso é sempre no início da linha. talvez isso lhe sirva.


--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------

#4197 De: "Diego Mancilha" <diegomancilha@...>
Data: Ter, 31 de Mar de 2009 6:38 pm
Assunto: Re: Dificuldade em restringir a busca.
diegomancilha
Enviar e-mail Enviar e-mail
 
Pessoal

Valeu pelas dicas, no entanto como eu tinha dito antes estou pegando o valor do
banco... o que esqueci de dizer é que estou usando pl/pgsql pra processar os
valores... A principio eu acabei inserindo um caracter de controle pra evitar
que acontecesse aquela situação... a princípio resolveu...

Mais um vez obrigado!
Abraços!

--- Em sed-br@..., jimmy <ronaldo_tgz@...> escreveu
>
> On Tue, Mar 31, 2009 at 04:52:10PM -0000, Diego Mancilha wrote:
> > Na verdade estou buscando esse valor de um banco de dados...
> > E esse valor pode ser variável...
> >
> > O texto que quero encontrar "1N5027841N" pode ser variável e possui o
seguinte formato:
> >
> > [0-9]+[ABCN] ou seja o 1N é a abertura de uma tag, vamos exemplificar
assim...
> >
> > .* no caso do exemplo é o valor "502784", no entanto neste caso é um número
mas eu posso vir a ter aqui qualquer coisa... inclusive ponto e vírgula, e por
isso não posso quebrar por ";" pra separar
> >
> > \1[;] é o retrovisor pro 1N contendo um ponto e vírgula indicando que a tag
foi fechada.
> >
> > O negócio é meio chatinho...
>
> também não entendi muito bem o que você quer mas acho que o problema é
> que você precisa casar uma regex até a primeira ocorrência da expressão
> seguinte que no caso seria você informar .* e ele casar até a primeira
> ocorrência de 1N e não até a última; bom isso eu só vi em perl com .*?
> mas em sed a única forma que conheço é colocar uma marca para delimitar
> o limite da minha regex:
>
> echo '1N5027841N;2N194.652N;3NNULL3N;4N90604N;5NNULL5N;6N2009-03-31
08:28:15.9494076N;7NNULL7N;8NEXB8N;9NNULL9N;11N111N;12NNULL12N;' |
> sed -r 's/1N/&\n/2;s/^([^\n]+)\n.*$/\1/'
>
> onde eu marco a segunda ocorrência do "1N", uma vez que você disse que
> isso é sempre no início da linha. talvez isso lhe sirva.
>
>
> --
> "Não manejo bem as palavras
> Mas manipulo bem as strings."
> ------------------------------
>

#4198 De: "Rodrigo" <roleiko@...>
Data: Sex, 3 de Abr de 2009 5:52 pm
Assunto: sed-br-unsubscribe@...
roleiko
Enviar e-mail Enviar e-mail
 
#4199 De: "Marcelo G. Dias" <cgi_bash@...>
Data: Sáb, 18 de Abr de 2009 12:58 pm
Assunto: Re: HEELP!!
cgi_bash2
Enviar e-mail Enviar e-mail
 
Tem duas formas, mas eu indico a seguinte :

awk 'NR = 1 {print $0}' arquivo

--- Em sed-br@..., "carllao2003" <ninjainc@...> escreveu
>
> PessoALL,
>
> sou muito novato nesse negócio de sed mas preciso urgentemente de
> uma
> ajudinha...Eu preciso ler um arquivo texto, pegar a sua primeira
> linha jogá-la dentro de um outro arquivo qq e apagar a linha q eu
> acabei de pegar do seu arquivo original. Como eu faço isso usando
> os
> ed?
>
> Exemplo do texto
>
> REDE LOCAL
> Uma rede local e um sistema
> de interligacao entre
> computadores que permite
> comunicacao entre eles
>
> No aguardo
>

#4200 De: Claudia <casvalvini@...>
Data: Sex, 24 de Abr de 2009 1:07 pm
Assunto: Ajuda em expressao regular
casvalvini
Enviar e-mail Enviar e-mail
 
Prezados colegas,

Estou precisando de uma expressão regular que me permita identificar o
seguinte padrão:
CONNECT XXX.XXX.XXX.XXX:YYYYY HTTP
onde XXX.XXX.XXX.XXX corresponde ao padrão de formação de um endereço IP e,
YYYYY corresponde a um numero
superior a 1024.
Voces podem me ajudar?

Antecipadamente agradeço,

Claudia


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

#4201 De: Andrea VB <andreavb1985@...>
Data: Sex, 24 de Abr de 2009 1:24 pm
Assunto: Re: Ajuda em expressao regular
avb_chess
Enviar e-mail Enviar e-mail
 
Claudia,

2009/4/24 Claudia <casvalvini@...>:
> Prezados colegas,
>
> Estou precisando de uma expressão regular que me permita identificar o
> seguinte padrão:
> CONNECT XXX.XXX.XXX.XXX:YYYYY HTTP
> onde XXX.XXX.XXX.XXX corresponde ao padrão de formação de um endereço IP e,
> YYYYY corresponde a um numero
> superior a 1024.
> Voces podem me ajudar?

vc não especificou onde estava enfrentando problemas na construção
dessa expressão. Eu suponho que o problema seja o "." (seria o mais
comum, ao menos!).
Para que sua regexp aceite somente o ponto (e não um caracter
qualquer, já que o ponto é curinga!), vc precisa escapá-lo. Deve
funcionar sua regexp agora (se a dúvida for outra, mande aí e a gente
tenta arrumar!).
Seria bom também que você mandasse no e-mail a regexp que você tem aí,
mesmo que errada. Fica mais fácil identificar a raiz do seu problema e
te ajudar.

Abraço

> Antecipadamente agradeço,
>
> Claudia

--
Andrea VB
Please, don't CC me when replying to me on the lists, and use BCC when
sending mass e-mails.

#4202 De: Claudia <casvalvini@...>
Data: Sex, 24 de Abr de 2009 4:26 pm
Assunto: Re: Ajuda em expressao regular
casvalvini
Enviar e-mail Enviar e-mail
 
Oi!
Estou tentando "CONNECT ´[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*´:[1025-35353]" mas
não está correto...
[]s

Cláudia

2009/4/24 Andrea VB <andreavb1985@...>

>
>
> Claudia,
>
> 2009/4/24 Claudia <casvalvini@... <casvalvini%40gmail.com>>:
> > Prezados colegas,
> >
> > Estou precisando de uma expressão regular que me permita identificar o
> > seguinte padrão:
> > CONNECT XXX.XXX.XXX.XXX:YYYYY HTTP
> > onde XXX.XXX.XXX.XXX corresponde ao padrão de formação de um endereço IP
> e,
> > YYYYY corresponde a um numero
> > superior a 1024.
> > Voces podem me ajudar?
>
> vc não especificou onde estava enfrentando problemas na construção
> dessa expressão. Eu suponho que o problema seja o "." (seria o mais
> comum, ao menos!).
> Para que sua regexp aceite somente o ponto (e não um caracter
> qualquer, já que o ponto é curinga!), vc precisa escapá-lo. Deve
> funcionar sua regexp agora (se a dúvida for outra, mande aí e a gente
> tenta arrumar!).
> Seria bom também que você mandasse no e-mail a regexp que você tem aí,
> mesmo que errada. Fica mais fácil identificar a raiz do seu problema e
> te ajudar.
>
> Abraço
>
> > Antecipadamente agradeço,
> >
> > Claudia
>
> --
> Andrea VB
> Please, don't CC me when replying to me on the lists, and use BCC when
> sending mass e-mails.
>
>
>


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

#4203 De: ®i©@®ÐØ <informatica@...>
Data: Sex, 24 de Abr de 2009 5:06 pm
Assunto: Re: Ajuda em expressao regular
rbrito_1978
Enviar e-mail Enviar e-mail
 
para tratar com ips de uma maneira mais correta, deve-se separar os limites
[1-255].
eu uso esta expressão:
([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2\
[0-4][0-9]|25[0-5])){3}

Eu uso 2 grupos, onde o primeiro
([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]) trata o primeiro octeto, da
seguinte forma:
[1-9]: 1 a 9
[1-9][0-9]: 10 a 19
1[0-9]{2}: 100 a 199
2[0-4][0-9]: 200 a 249
25[0-5]: 250 a 255
e o segundo grupo trata dos outros octetos que são separados por ponto, que
são precisamente {3}


2009/4/24 Claudia <casvalvini@...>

>
>
> Oi!
> Estou tentando "CONNECT ´[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*´:[1025-35353]" mas
> não está correto...
> []s
>
> Cláudia
>
> 2009/4/24 Andrea VB <andreavb1985@... <andreavb1985%40gmail.com>>
>
> >
> >
> > Claudia,
> >
> > 2009/4/24 Claudia <casvalvini@... <casvalvini%40gmail.com><casvalvini%
> 40gmail.com>>:
>
> > > Prezados colegas,
> > >
> > > Estou precisando de uma expressão regular que me permita identificar o
> > > seguinte padrão:
> > > CONNECT XXX.XXX.XXX.XXX:YYYYY HTTP
> > > onde XXX.XXX.XXX.XXX corresponde ao padrão de formação de um endereço
> IP
> > e,
> > > YYYYY corresponde a um numero
> > > superior a 1024.
> > > Voces podem me ajudar?
> >
> > vc não especificou onde estava enfrentando problemas na construção
> > dessa expressão. Eu suponho que o problema seja o "." (seria o mais
> > comum, ao menos!).
> > Para que sua regexp aceite somente o ponto (e não um caracter
> > qualquer, já que o ponto é curinga!), vc precisa escapá-lo. Deve
> > funcionar sua regexp agora (se a dúvida for outra, mande aí e a gente
> > tenta arrumar!).
> > Seria bom também que você mandasse no e-mail a regexp que você tem aí,
> > mesmo que errada. Fica mais fácil identificar a raiz do seu problema e
> > te ajudar.
> >
> > Abraço
> >
> > > Antecipadamente agradeço,
> > >
> > > Claudia
> >
> > --
> > Andrea VB
> > Please, don't CC me when replying to me on the lists, and use BCC when
> > sending mass e-mails.
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>



--
--------------------------------------------------------------------------------\
-----
A Graça do nosso Senhor Jesus Cristo seja contigo. (1ªTs 5.28)
The grace of our Lord Jesus Christ be with you.  (1ªTs 5.28)
Jesus te ama, aceite-O! Jesus loves you, accept you Him!

                                               ®i©@®ÐØ


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

#4204 De: "voyeg3r" <voyeg3r@...>
Data: Sex, 24 de Abr de 2009 4:05 pm
Assunto: Re: Ajuda em expressao regular
voyeg3r
Enviar e-mail Enviar e-mail
 
--- Em sed-br@..., Claudia <casvalvini@...> escreveu
>
> Prezados colegas,
>
> Estou precisando de uma expressão regular que me permita identificar o
> seguinte padrão:
> CONNECT XXX.XXX.XXX.XXX:YYYYY HTTP
> onde XXX.XXX.XXX.XXX corresponde ao padrão de formação de um endereço IP e,
> YYYYY corresponde a um numero
> superior a 1024.
> Voces podem me ajudar?
>
> Antecipadamente agradeço,
>
> Claudia
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>

encontrei um comando para o egrep que pega ips, mas acho que para o sed, por
exemplo, muda pouca coisa:

egrep '^
*(([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.){3}([01]?[0-9][0-9]?|2[0-4][0-9]|25[0\
-5]) *$' your_file.txt

Mais um detalhe, podería-mos criar uma regex mais simples, mas de fato ela não
validaria um número ip

#4205 De: "marlon_mca" <marlon_mca@...>
Data: Sex, 24 de Abr de 2009 4:47 pm
Assunto: Re: Ajuda em expressao regular
marlon_mca
Enviar e-mail Enviar e-mail
 
Bom dia Claudia

         Não tem muita informação no seu email pra saber onde ta seu problema, se
vc
já tentou alguma coisa ou não e nem como irá usar a REGEX então aqui vai um
exemplo simples:

cat teste.txt

  Nome: Nair
  Sobrenome: Silveira
  email: nsilveira@...
  email: nsilveira@...

  Nome: Carlos
  Sobrenome: Martin
  email: carlos.martin@...
  email: cmartin87@...

  Nome: Lucia
  Sobrenome: Andrade
  email: luciaa@...
  email: lucinha@...

1N5027841N;2N194.652N;3NNULL3N;4N90604N;5NNULL5N;6N2009-03-31
08:28:15.9494076N;7NNULL7N;8NEXB8N;9NNULL9N;11N111N;12NNULL12N;
CONNECT 192.168.19.192:1045 HTTP
200.150.222.122:80 -> 234.123.112.123:80

egrep '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9]
[0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?
[0-9][0-9]?)' teste.txt

CONNECT 192.168.19.192:1045 HTTP
200.150.222.122:80 -> 234.123.112.123:80


Atenciosamente
Marlon V. Reck


--- Em sed-br@..., Claudia <casvalvini@...> escreveu
>
> Oi!
> Estou tentando "CONNECT ´[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*´:[1025-35353]" mas
> não está correto...
> []s
>
> Cláudia
>
> 2009/4/24 Andrea VB <andreavb1985@...>
>
> >
> >
> > Claudia,
> >
> > 2009/4/24 Claudia <casvalvini@... <casvalvini%40gmail.com>>:
> > > Prezados colegas,
> > >
> > > Estou precisando de uma expressão regular que me permita identificar o
> > > seguinte padrão:
> > > CONNECT XXX.XXX.XXX.XXX:YYYYY HTTP
> > > onde XXX.XXX.XXX.XXX corresponde ao padrão de formação de um endereço IP
> > e,
> > > YYYYY corresponde a um numero
> > > superior a 1024.
> > > Voces podem me ajudar?
> >
> > vc não especificou onde estava enfrentando problemas na construção
> > dessa expressão. Eu suponho que o problema seja o "." (seria o mais
> > comum, ao menos!).
> > Para que sua regexp aceite somente o ponto (e não um caracter
> > qualquer, já que o ponto é curinga!), vc precisa escapá-lo. Deve
> > funcionar sua regexp agora (se a dúvida for outra, mande aí e a gente
> > tenta arrumar!).
> > Seria bom também que você mandasse no e-mail a regexp que você tem aí,
> > mesmo que errada. Fica mais fácil identificar a raiz do seu problema e
> > te ajudar.
> >
> > Abraço
> >
> > > Antecipadamente agradeço,
> > >
> > > Claudia
> >
> > --
> > Andrea VB
> > Please, don't CC me when replying to me on the lists, and use BCC when
> > sending mass e-mails.
> >
> >
> >
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>

#4206 De: jimmy <ronaldo_tgz@...>
Data: Sex, 24 de Abr de 2009 9:25 pm
Assunto: Re: Ajuda em expressao regular
ronaldo_tgz
Enviar e-mail Enviar e-mail
 
On Fri, Apr 24, 2009 at 01:26:56PM -0300, Claudia wrote:
> Oi!
> Estou tentando "CONNECT ´[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*´:[1025-35353]" mas
> não está correto...

essa parte do range de portas "[1025-35353]" você pode usar:

(1[1-9][0-9][0-9]|10[3-9][0-9]|102[5-9]|2[0-9][0-9][0-9])

basta juntar com as regex que já foram enviadas.


--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------

#4207 De: "costa.saulo@..." <costa.saulo@...>
Data: Ter, 12 de Mai de 2009 2:49 am
Assunto: sed substituição
costa.saulo...
Enviar e-mail Enviar e-mail
 
Boa noite senhores,
tenho arquivos textos gerados por um programa Fortran simples. São tabelas com
diversos dados disponíveis em colunas enormes. O fato é que por um erro de
formatação no programa Fortran ao imprimir uma variável cujo tamanho é maior do
que o reservado para ela o programa imprimi ******** (8 asteriscos). Pensei em
substituir os asteriscos utilizando o sed, no entanto, sed 's/********/coisa/'
não funciona nem a pau. Depois de muito tentar e não consegui a solução
encontrada por mim foi alterar  o progrma fonte para eliminar esse bug, no
entanto a dúvida em relação ao sed permanece: Como substituir asteriscos num
arquivo texto qualquer?
Valeu pela força pessoal.

#4208 De: Marcus Vinicius <marc_mcs10@...>
Data: Ter, 12 de Mai de 2009 11:54 am
Assunto: Res: sed substituição
marc_mcs10
Enviar e-mail Enviar e-mail
 
sed 's/[*]\{8\}/coisa/'

abçs

--
Marcus





________________________________
De: "costa.saulo@..." <costa.saulo@...>
Para: sed-br@...
Enviadas: Segunda-feira, 11 de Maio de 2009 23:49:27
Assunto: [sed-br] sed substituição





Boa noite senhores,
tenho arquivos textos gerados por um programa Fortran simples. São tabelas com
diversos dados disponíveis em colunas enormes. O fato é que por um erro de
formatação no programa Fortran ao imprimir uma variável cujo tamanho é maior do
que o reservado para ela o programa imprimi ******** (8 asteriscos). Pensei em
substituir os asteriscos utilizando o sed, no entanto, sed 's/********/ coisa/'
não funciona nem a pau. Depois de muito tentar e não consegui a solução
encontrada por mim foi alterar  o progrma fonte para eliminar esse bug, no
entanto a dúvida em relação ao sed permanece: Como substituir asteriscos num
arquivo texto qualquer?
Valeu pela força pessoal.





       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]

#4209 De: Fernando Zank <fernandozank@...>
Data: Ter, 12 de Mai de 2009 12:01 pm
Assunto: Re: sed substituição
fernandozce
Enviar e-mail Enviar e-mail
 
Tenta escapar o * com a contrabarra \* pois se não o SED interpreta
como coringa.

  cat teste.txt | sed -e 's/\*/TESTE/g'


2009/5/11 costa.saulo@... <costa.saulo@...>:
>
>
> Boa noite senhores,
> tenho arquivos textos gerados por um programa Fortran simples. São tabelas
> com diversos dados disponíveis em colunas enormes. O fato é que por um erro
> de formatação no programa Fortran ao imprimir uma variável cujo tamanho é
> maior do que o reservado para ela o programa imprimi ******** (8
> asteriscos). Pensei em substituir os asteriscos utilizando o sed, no
> entanto, sed 's/********/coisa/' não funciona nem a pau. Depois de muito
> tentar e não consegui a solução encontrada por mim foi alterar o progrma
> fonte para eliminar esse bug, no entanto a dúvida em relação ao sed
> permanece: Como substituir asteriscos num arquivo texto qualquer?
> Valeu pela força pessoal.
>
>



--
  "Somos o que repetidamente fazemos, portanto a
excelência não é um feito é um hábito" - Aristóteles

#4210 De: jimmy <ronaldo_tgz@...>
Data: Ter, 12 de Mai de 2009 12:05 pm
Assunto: Re: sed substituição
ronaldo_tgz
Enviar e-mail Enviar e-mail
 
On Tue, May 12, 2009 at 02:49:27AM -0000, costa.saulo@... wrote:
> Boa noite senhores,
> tenho arquivos textos gerados por um programa Fortran simples. São tabelas com
diversos dados disponíveis em colunas enormes. O fato é que por um erro de
formatação no programa Fortran ao imprimir uma variável cujo tamanho é maior do
que o reservado para ela o programa imprimi ******** (8 asteriscos). Pensei em
substituir os asteriscos utilizando o sed, no entanto, sed 's/********/coisa/'
não funciona nem a pau. Depois de muito tentar e não consegui a solução
encontrada por mim foi alterar  o progrma fonte para eliminar esse bug, no
entanto a dúvida em relação ao sed permanece: Como substituir asteriscos num
arquivo texto qualquer?
> Valeu pela força pessoal.
>

o asterisco é um meta-caractere usado pelo sed e em vários outros
programas para compor expressões regulares, você pode dar uma olhada em

info sed 'Regular Expressions'

que tem mais detalhes sobre isso.

para fazer a substituição de um caractere "*" (asterisco) literal, você
precisa colocar um "\" (escape) antes do caractere, dessa forma a sua
substituição ficaria assim:

sed 's/\*\*\*\*\*\*\*/coisa/'


--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------

#4211 De: Alain Mouette <alainm@...>
Data: Qua, 10 de Jun de 2009 8:55 pm
Assunto: Ajuda para pre-processador
alainm3
Enviar e-mail Enviar e-mail
 
Oi, eu preciso fazer um pre-processador para um compilador assembler com
sintaxe mais antiga.

Me deem alguma dica pois estou muito perdido para começar, nem sei se
seria melhor SED ou AWK... depois eu elaboro em cima :)

Descrevendo em português:
- Se uma linha Começa com alguns espaços
- e a segunda palavra for equ ou set
- então os espaços iniciais devem ser removidos
- todo o resto é copiado como está

obrigado,
Alain

#4212 De: jimmy <ronaldo_tgz@...>
Data: Qua, 10 de Jun de 2009 9:07 pm
Assunto: Re: Ajuda para pre-processador
ronaldo_tgz
Enviar e-mail Enviar e-mail
 
On Wed, Jun 10, 2009 at 05:55:44PM -0300, Alain Mouette wrote:
> Oi, eu preciso fazer um pre-processador para um compilador assembler com
> sintaxe mais antiga.
>
> Me deem alguma dica pois estou muito perdido para começar, nem sei se
> seria melhor SED ou AWK... depois eu elaboro em cima :)
>
> Descrevendo em português:
> - Se uma linha Começa com alguns espaços
> - e a segunda palavra for equ ou set
seria numa linha só então?

> - então os espaços iniciais devem ser removidos
> - todo o resto é copiado como está
sed 's/^\s\+\(equ\|set\)/\1/' arquivo

>
> obrigado,
> Alain
>
>
> ------------------------------------



--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------

#4213 De: Alain Mouette <alainm@...>
Data: Qui, 11 de Jun de 2009 2:33 am
Assunto: Re: Ajuda para pre-processador
alainm3
Enviar e-mail Enviar e-mail
 
tentei ser claro e esqueci do exemplo... e já consegui alguma coisa :)
(desculpe se o exemplo ficou meio grande)

$ cat testepic.asm
IFDEF CONV_DTMF ;-------Placa convertida
  VERSAO set     VERSAO-2; Versao
  DOUT_TRI equ   0
ENDIF
;-------------------------------
FuncDig                         ;---Funções de Dígito
         call    RdNTel
         decf    DskDig,w

====> é isso que eu quero:
IFDEF CONV_DTMF ;-------Placa convertida
VERSAO set     VERSAO-2; Versao
DOUT_TRI equ   0
ENDIF
;-------------------------------
FuncDig                         ;---Funções de Dígito
         call    RdNTel
         decf    DskDig,w

Fiz este comando... com as tuas dicas e do site só sed. Talvez você
possa me ajudar a arrumar melhor  ;-)

$ cat testepic.asm | sed '/^\s*\w*\s*equ\|set.*/s/^\s\+//'

Obrigado pela dicas,
Alain


jimmy escreveu:
> On Wed, Jun 10, 2009 at 05:55:44PM -0300, Alain Mouette wrote:
>
>> Oi, eu preciso fazer um pre-processador para um compilador assembler com
>> sintaxe mais antiga.
>>
>> Me deem alguma dica pois estou muito perdido para começar, nem sei se
>> seria melhor SED ou AWK... depois eu elaboro em cima :)
>>
>> Descrevendo em português:
>> - Se uma linha Começa com alguns espaços
>> - e a segunda palavra for equ ou set
>>
> seria numa linha só então?
>
>
>> - então os espaços iniciais devem ser removidos
>> - todo o resto é copiado como está
>>
> sed 's/^\s\+\(equ\|set\)/\1/' arquivo
>
>
>> obrigado,
>> Alain
>>
>>
>> ------------------------------------
>>
>
>
>
>


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

#4214 De: Alain Mouette <alainm@...>
Data: Qui, 11 de Jun de 2009 2:58 am
Assunto: Re: Ajuda para pre-processador
alainm3
Enviar e-mail Enviar e-mail
 
lá vou eu respondendo a mim mesmo...

infelizmente ainda não funcionou. O problema é que as linhas:
	 incf    RState,f        ;19; prox. estado (8 seta o bit 3)
	 movwf   CCP1CON         ; PWM: Compare mode, set output

têm "set" no meio e não pode tirar o espaço no começo (e outros casos
semelhantes).

Então o set|equ tem que estar na *segunda* palavra. Coisa que achava que
o comando fazia, já que o "\w" não inclui espaços.

Dessa vez fiquei sem ideias de novo

Alain

Alain Mouette escreveu:
> tentei ser claro e esqueci do exemplo... e já consegui alguma coisa :)
> (desculpe se o exemplo ficou meio grande)
>
> $ cat testepic.asm
> IFDEF CONV_DTMF ;-------Placa convertida
>  VERSAO set     VERSAO-2; Versao
>  DOUT_TRI equ   0
> ENDIF
> ;-------------------------------
> FuncDig                         ;---Funções de Dígito
>         call    RdNTel
>         decf    DskDig,w
>
> ====> é isso que eu quero:
> IFDEF CONV_DTMF ;-------Placa convertida
> VERSAO set     VERSAO-2; Versao
> DOUT_TRI equ   0
> ENDIF
> ;-------------------------------
> FuncDig                         ;---Funções de Dígito
>         call    RdNTel
>         decf    DskDig,w
>
> Fiz este comando... com as tuas dicas e do site só sed. Talvez você
> possa me ajudar a arrumar melhor  ;-)
>
> $ cat testepic.asm | sed '/^\s*\w*\s*equ\|set.*/s/^\s\+//'
>
> Obrigado pela dicas,
> Alain
>
>
> jimmy escreveu:
>> On Wed, Jun 10, 2009 at 05:55:44PM -0300, Alain Mouette wrote:
>>
>>> Oi, eu preciso fazer um pre-processador para um compilador assembler com
>>> sintaxe mais antiga.
>>>
>>> Me deem alguma dica pois estou muito perdido para começar, nem sei se
>>> seria melhor SED ou AWK... depois eu elaboro em cima :)
>>>
>>> Descrevendo em português:
>>> - Se uma linha Começa com alguns espaços
>>> - e a segunda palavra for equ ou set
>>>
>> seria numa linha só então?
>>
>>
>>> - então os espaços iniciais devem ser removidos
>>> - todo o resto é copiado como está
>>>
>> sed 's/^\s\+\(equ\|set\)/\1/' arquivo
>>
>>
>>> obrigado,
>>> Alain
>>>
>>>
>>> ------------------------------------
>>>
>>
>>
>>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>

#4215 De: jimmy <ronaldo_tgz@...>
Data: Sex, 12 de Jun de 2009 11:41 am
Assunto: Re: Ajuda para pre-processador
ronaldo_tgz
Enviar e-mail Enviar e-mail
 
inseri essas linhas no arquivo de exemplo para fazer testes e ficou
assim:

$ cat testepic.asm
IFDEF CONV_DTMF ;-------Placa convertida
VERSAO set     VERSAO-2; Versao
DOUT_TRI equ   0
ENDIF
;-------------------------------
FuncDig                         ;---Funções de Dígito
         call    RdNTel
         decf    DskDig,w

         incf    RState,f        ;19; prox. estado (8 seta o bit 3)
         movwf   CCP1CON         ; PWM: Compare mode, set output

considerando que o "equ|set" tem que ser a segunda palavra, você pode
fazer o seguinte:

   sed 's/^\s\+\(\w\+\s\+\(equ\|set\)\b\)/\1/' testepic.asm

no seu comando o uso do "*" tornou opcional a existência de espaços e da
palavra que você estava testando, nesse comando que lhe enviei a palavra
e os espaços são obrigatórios.

se ainda precisar remover os espaços antes do "equ|set", considero
que seria mais simples fazer separado:

   sed 's/^\s\+\(\w\+\s\+\(equ\|set\)\b\)/\1/;s/^\s\+\(equ\|set\)\b/\1/'
testepic.asm



On Wed, Jun 10, 2009 at 11:58:22PM -0300, Alain Mouette wrote:
> lá vou eu respondendo a mim mesmo...
>
> infelizmente ainda não funcionou. O problema é que as linhas:
>  incf    RState,f        ;19; prox. estado (8 seta o bit 3)
>  movwf   CCP1CON         ; PWM: Compare mode, set output
>
> têm "set" no meio e não pode tirar o espaço no começo (e outros casos
> semelhantes).
>
> Então o set|equ tem que estar na *segunda* palavra. Coisa que achava que
> o comando fazia, já que o "\w" não inclui espaços.
>
> Dessa vez fiquei sem ideias de novo
>
> Alain
>
> Alain Mouette escreveu:
> > tentei ser claro e esqueci do exemplo... e já consegui alguma coisa :)
> > (desculpe se o exemplo ficou meio grande)
> >
> > $ cat testepic.asm
> > IFDEF CONV_DTMF ;-------Placa convertida
> >  VERSAO set     VERSAO-2; Versao
> >  DOUT_TRI equ   0
> > ENDIF
> > ;-------------------------------
> > FuncDig                         ;---Funções de Dígito
> >         call    RdNTel
> >         decf    DskDig,w
> >
> > ====> é isso que eu quero:
> > IFDEF CONV_DTMF ;-------Placa convertida
> > VERSAO set     VERSAO-2; Versao
> > DOUT_TRI equ   0
> > ENDIF
> > ;-------------------------------
> > FuncDig                         ;---Funções de Dígito
> >         call    RdNTel
> >         decf    DskDig,w
> >
> > Fiz este comando... com as tuas dicas e do site só sed. Talvez você
> > possa me ajudar a arrumar melhor  ;-)
> >
> > $ cat testepic.asm | sed '/^\s*\w*\s*equ\|set.*/s/^\s\+//'
> >
> > Obrigado pela dicas,
> > Alain
> >
> >
> > jimmy escreveu:
> >> On Wed, Jun 10, 2009 at 05:55:44PM -0300, Alain Mouette wrote:
> >>
> >>> Oi, eu preciso fazer um pre-processador para um compilador assembler com
> >>> sintaxe mais antiga.
> >>>
> >>> Me deem alguma dica pois estou muito perdido para começar, nem sei se
> >>> seria melhor SED ou AWK... depois eu elaboro em cima :)
> >>>
> >>> Descrevendo em português:
> >>> - Se uma linha Começa com alguns espaços
> >>> - e a segunda palavra for equ ou set
> >>>
> >> seria numa linha só então?
> >>
> >>
> >>> - então os espaços iniciais devem ser removidos
> >>> - todo o resto é copiado como está
> >>>
> >> sed 's/^\s\+\(equ\|set\)/\1/' arquivo
> >>
> >>
> >>> obrigado,
> >>> Alain
> >>>
> >>>
> >>> ------------------------------------

--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------

#4216 De: Alain Mouette <alainm@...>
Data: Sex, 12 de Jun de 2009 5:28 pm
Assunto: Re: Ajuda para pre-processador
alainm3
Enviar e-mail Enviar e-mail
 
Oi Jimmy,

obrigado :) agora entendi... e a solução com parenteses ficou bom melhor...

Abraços,
Alain

jimmy escreveu:
> inseri essas linhas no arquivo de exemplo para fazer testes e ficou
> assim:
>
> $ cat testepic.asm
> IFDEF CONV_DTMF ;-------Placa convertida
> VERSAO set     VERSAO-2; Versao
> DOUT_TRI equ   0
> ENDIF
> ;-------------------------------
> FuncDig                         ;---Funções de Dígito
>         call    RdNTel
>         decf    DskDig,w
>
>         incf    RState,f        ;19; prox. estado (8 seta o bit 3)
>         movwf   CCP1CON         ; PWM: Compare mode, set output
>
> considerando que o "equ|set" tem que ser a segunda palavra, você pode
> fazer o seguinte:
>
>   sed 's/^\s\+\(\w\+\s\+\(equ\|set\)\b\)/\1/' testepic.asm
>
> no seu comando o uso do "*" tornou opcional a existência de espaços e da
> palavra que você estava testando, nesse comando que lhe enviei a palavra
> e os espaços são obrigatórios.
>
> se ainda precisar remover os espaços antes do "equ|set", considero
> que seria mais simples fazer separado:
>
>   sed 's/^\s\+\(\w\+\s\+\(equ\|set\)\b\)/\1/;s/^\s\+\(equ\|set\)\b/\1/'
testepic.asm
>
>
>
> On Wed, Jun 10, 2009 at 11:58:22PM -0300, Alain Mouette wrote:
>> lá vou eu respondendo a mim mesmo...
>>
>> infelizmente ainda não funcionou. O problema é que as linhas:
>>  incf    RState,f        ;19; prox. estado (8 seta o bit 3)
>>  movwf   CCP1CON         ; PWM: Compare mode, set output
>>
>> têm "set" no meio e não pode tirar o espaço no começo (e outros casos
>> semelhantes).
>>
>> Então o set|equ tem que estar na *segunda* palavra. Coisa que achava que
>> o comando fazia, já que o "\w" não inclui espaços.
>>
>> Dessa vez fiquei sem ideias de novo
>>
>> Alain
>>
>> Alain Mouette escreveu:
>>> tentei ser claro e esqueci do exemplo... e já consegui alguma coisa :)
>>> (desculpe se o exemplo ficou meio grande)
>>>
>>> $ cat testepic.asm
>>> IFDEF CONV_DTMF ;-------Placa convertida
>>>  VERSAO set     VERSAO-2; Versao
>>>  DOUT_TRI equ   0
>>> ENDIF
>>> ;-------------------------------
>>> FuncDig                         ;---Funções de Dígito
>>>         call    RdNTel
>>>         decf    DskDig,w
>>>
>>> ====> é isso que eu quero:
>>> IFDEF CONV_DTMF ;-------Placa convertida
>>> VERSAO set     VERSAO-2; Versao
>>> DOUT_TRI equ   0
>>> ENDIF
>>> ;-------------------------------
>>> FuncDig                         ;---Funções de Dígito
>>>         call    RdNTel
>>>         decf    DskDig,w
>>>
>>> Fiz este comando... com as tuas dicas e do site só sed. Talvez você
>>> possa me ajudar a arrumar melhor  ;-)
>>>
>>> $ cat testepic.asm | sed '/^\s*\w*\s*equ\|set.*/s/^\s\+//'
>>>
>>> Obrigado pela dicas,
>>> Alain
>>>
>>>
>>> jimmy escreveu:
>>>> On Wed, Jun 10, 2009 at 05:55:44PM -0300, Alain Mouette wrote:
>>>>
>>>>> Oi, eu preciso fazer um pre-processador para um compilador assembler com
>>>>> sintaxe mais antiga.
>>>>>
>>>>> Me deem alguma dica pois estou muito perdido para começar, nem sei se
>>>>> seria melhor SED ou AWK... depois eu elaboro em cima :)
>>>>>
>>>>> Descrevendo em português:
>>>>> - Se uma linha Começa com alguns espaços
>>>>> - e a segunda palavra for equ ou set
>>>>>
>>>> seria numa linha só então?
>>>>
>>>>
>>>>> - então os espaços iniciais devem ser removidos
>>>>> - todo o resto é copiado como está
>>>>>
>>>> sed 's/^\s\+\(equ\|set\)/\1/' arquivo
>>>>
>>>>
>>>>> obrigado,
>>>>> Alain
>>>>>
>>>>>
>>>>> ------------------------------------
>

#4217 De: "josepaulolima" <josepaulolima@...>
Data: Qua, 24 de Jun de 2009 2:42 am
Assunto: Expressão Delimitada
josepaulolima
Enviar e-mail Enviar e-mail
 
Saudações a todos.
Preciso montar uma expressão regular que me retorne o conteúdo (ou conteúdos) de
um comando SQL delimitad por chaves.
Por exemplo:
sentença: select {campo1}, {campo2} from {tabela1}
retorno: campo1 campo2 tabela1

Estou utilizando a linguagem C#.
Desde já, agradeço.

#4218 De: jimmy <ronaldo_tgz@...>
Data: Qua, 24 de Jun de 2009 11:58 am
Assunto: Re: Expressão Delimitada
ronaldo_tgz
Enviar e-mail Enviar e-mail
 
On Wed, Jun 24, 2009 at 02:42:02AM -0000, josepaulolima wrote:
> Saudações a todos.
> Preciso montar uma expressão regular que me retorne o conteúdo (ou conteúdos)
de um comando SQL delimitad por chaves.
> Por exemplo:
> sentença: select {campo1}, {campo2} from {tabela1}
> retorno: campo1 campo2 tabela1
>
> Estou utilizando a linguagem C#.
> Desde já, agradeço.
>
> ------------------------------------


você pode fazer o seguinte:

echo 'select {campo1}, {campo2} from {tabela1}' | sed
's/^[^{]*{\|}[^}]*$//g;s/}[^{]\+{/ /g'

ou seja, em vez de tentar separar os campos do resto do texto,
simplesmente apagar o que não quer.


--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------

#4219 De: "josepaulolima" <josepaulolima@...>
Data: Sex, 26 de Jun de 2009 12:42 am
Assunto: Re: Expressão Delimitada
josepaulolima
Enviar e-mail Enviar e-mail
 
Saudações,

Obrigado pela dica. No entanto, ainda não consegui resolver o que preciso.
Para utilizar na classe em C#, preciso da expressão que retorna somente a
palavra entre chaves, para que a aplicação funcione.

José Paulo

--- Em sed-br@..., jimmy <ronaldo_tgz@...> escreveu
>
> On Wed, Jun 24, 2009 at 02:42:02AM -0000, josepaulolima wrote:
> > Saudações a todos.
> > Preciso montar uma expressão regular que me retorne o conteúdo (ou
conteúdos) de um comando SQL delimitad por chaves.
> > Por exemplo:
> > sentença: select {campo1}, {campo2} from {tabela1}
> > retorno: campo1 campo2 tabela1
> >
> > Estou utilizando a linguagem C#.
> > Desde já, agradeço.
> >
> > ------------------------------------
>
>
> você pode fazer o seguinte:
>
> echo 'select {campo1}, {campo2} from {tabela1}' | sed
's/^[^{]*{\|}[^}]*$//g;s/}[^{]\+{/ /g'
>
> ou seja, em vez de tentar separar os campos do resto do texto,
> simplesmente apagar o que não quer.
>
>
> --
> "Não manejo bem as palavras
> Mas manipulo bem as strings."
> ------------------------------
>

#4220 De: Felippe <felcerreia@...>
Data: Sex, 26 de Jun de 2009 3:58 am
Assunto: Re: Re: Expressão Delimitada
felcerreia
Enviar e-mail Enviar e-mail
 
Bem eu faria assim: *(?<=\{)[^\}]+?(?=\})*
agora como isso fica em C# não faço ideia...
tenta ver isso
http://www.c-sharpcorner.com/UploadFile/sushmita_kumari/Regex103292006084251AM/R\
egex1.aspx

josepaulolima escreveu:
>
>
> Saudações,
>
> Obrigado pela dica. No entanto, ainda não consegui resolver o que preciso.
> Para utilizar na classe em C#, preciso da expressão que retorna
> somente a palavra entre chaves, para que a aplicação funcione.
>
> José Paulo
>
> --- Em sed-br@... <mailto:sed-br%40yahoogrupos.com.br>,
> jimmy <ronaldo_tgz@...> escreveu
> >
> > On Wed, Jun 24, 2009 at 02:42:02AM -0000, josepaulolima wrote:
> > > Saudações a todos.
> > > Preciso montar uma expressão regular que me retorne o conteúdo (ou
> conteúdos) de um comando SQL delimitad por chaves.
> > > Por exemplo:
> > > sentença: select {campo1}, {campo2} from {tabela1}
> > > retorno: campo1 campo2 tabela1
> > >
> > > Estou utilizando a linguagem C#.
> > > Desde já, agradeço.
> > >
> > > ------------------------------------
> >
> >
> > você pode fazer o seguinte:
> >
> > echo 'select {campo1}, {campo2} from {tabela1}' | sed
> 's/^[^{]*{\|}[^}]*$//g;s/}[^{]\+{/ /g'
> >
> > ou seja, em vez de tentar separar os campos do resto do texto,
> > simplesmente apagar o que não quer.
> >
> >
> > --
> > "Não manejo bem as palavras
> > Mas manipulo bem as strings."
> > ------------------------------
> >
>
>

--
Na matemática, não há controvérsias verdadeiras.
Gauss, Carl Friedrich


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

mensagens 4191 - 4220 de 5042   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
mensagens 4191 - 4220 de 5042   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
Avançado

Copyright © 2010 Yahoo! do Brasil Internet Ltda. Todos os direitos reservados.
Política de Privacidade - Termos do Serviço - Diretrizes - Ajuda