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 1624 - 1653 de 5040   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
mensagens 1624 - 1653 de 5040   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
mensagens: Exibir resumo de mensagens Classificar por data ^  
#1624 De: Thobias Salazar Trevisan <thobias@...>
Data: Seg, 12 de Mai de 2003 2:59 pm
Assunto: Re: Filtrando informações de um arq. TXT
servagem
Enviar e-mail Enviar e-mail
 
On Mon, 12 May 2003, Spaz wrote:

> Ae Thobia, vê se ficou melhor desse jeito, peço desculpa por não ter
> expressado direito no último e-mail.

sem problemas. quanto mais você detalhar o problema melhor a
resposta que você conseguirá. :)

> Informações do arquivo original:

ok

> utilizando os parametros que me passou, ficou assim:
>
> 1 parte: sed '/Drive\|Total/!d'
>
> Drive A:/ (Removable Disk) :
> Drive C:/ (Fixed Disk) :
>          Bytes Total 7.86 GB / 8048 MB
> Drive D:/ (Cd-Rom Drive) :
> Drive E:/ (Remote Network Drive) :
>          Bytes Total 1.20 GB / 1229 MB
> Drive F:/ (Remote Network Drive) :
>          Bytes Total 1.20 GB / 1229 MB
>

isso, só as linhas que queremos.

> 2 parte: sed 'N;s,: *\n,;,;s/[[:blank:]]\+/ /g;s,^\|$,;,g'
>
> Drive A:/ (Removable Disk) :;
> ;Drive C:/ (Fixed Disk) ; Bytes Total 7.86 GB / 8048 MB;
> ;Drive D:/ (Cd-Rom Drive) ;Drive E:/ (Remote Network Drive) :;
> ; Bytes Total 1.20 GB / 1229 MB
> Drive F:/ (Remote Network Drive) :;
> ; Bytes Total 1.20 GB / 1229 MB

sim, é que eu juntei em cada linha o Drive e o Bytes total
referente a ele.

> Tentei usar esse parametro também mas não consegui:
> sed ":a;$!N;s/\n/ /;ta"  pois existe alguns tabs/espaços no meio
> e zoa todo o arquivo deixando com espços no meio.

sim, então temos que limpar isto, usando o s/[[:blank:]]\+/ /g,
ou seja, trocamos todos os \t e espaços por apenas 1 espaço

> Estou tentando deixar o arquivo nesse formato(csv), mas para isso
> preciso que as info. fique assim:
>
> ;A:/ (Removable Disk) :;Drive C:/ (Fixed Disk)  Bytes Total 7.86 GB / 8048
MB;Drive D:/ Cd-Rom Drive) ;Drive E:/ (Remote Network Drive) : Bytes Total 1.20
GB / 1229 MB;Drive F:/ (Remote Network Drive) : Bytes Total 1.20 GB / 1229 MB;

ok, então você quer tudo em 1 linha separado por ponto-e-virgula.
vamos lá:

$ cat x | sed '/Drive\|Total/!d'
Drive A:/ (Removable Disk) :
Drive C:/ (Fixed Disk) :
   Bytes Total 7.86 GB / 8048 MB
Drive D:/ (Cd-Rom Drive) :
Drive E:/ (Remote Network Drive) :
   Bytes Total 1.20 GB / 1229 MB
Drive F:/ (Remote Network Drive) :
   Bytes Total 1.20 GB / 1229 MB

blz! agora vamos arrumar esta saída.

$ cat x | sed '/Drive\|Total/!d' |\
  sed ':a;$!N;s/\n/; /;ta;s/[[:blank:]]\+/ /g;s,.*,;&;,'
;Drive A:/ (Removable Disk) :; Drive C:/ (Fixed Disk) :; Bytes Total 7.86 GB /
8048 MB; Drive D:/ (Cd-Rom Drive) :; Drive E:/ (Remote Network Drive) :; Bytes
Total 1.20 GB / 1229 MB; Drive F:/ (Remote Network Drive) :; Bytes Total 1.20 GB
/ 1229 MB;

:a;$!N;s/\n/; /;ta - juntamos tudo em 1 linha separando por '; '
		 ou seja, trocamos \n por '; '

s/[[:blank:]]\+/ /g - aqui tiramos espaços repetidos e TAB

s,.*,;&;, -  colcoamos ; no início e no fim da linha.

blz ?

thobias
-------
echo 9446046325380026818553633794429812592304650P | dc
-------
http://www.lcp.coppe.ufrj.br/~thobias

____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------

#1625 De: "Spaz" <grupos@...>
Data: Seg, 12 de Mai de 2003 5:52 pm
Assunto: Re: Filtrando informações de um arq. TXT
spaz0310
Enviar e-mail Enviar e-mail
 
Funcionou.... muito obrigado pela ajuda...
 
[]s
Spaz
----- Original Message -----
Sent: Monday, May 12, 2003 11:59 AM
Subject: Re: [sed-br] Filtrando informações de um arq. TXT


On Mon, 12 May 2003, Spaz wrote:

> Ae Thobia, vê se ficou melhor desse jeito, peço desculpa por não ter
> expressado direito no último e-mail.

sem problemas. quanto mais você detalhar o problema melhor a
resposta que você conseguirá. :)

> Informações do arquivo original:

ok

> utilizando os parametros que me passou, ficou assim:
>
> 1 parte: sed '/Drive\|Total/!d'
>
> Drive A:/ (Removable Disk) :
> Drive C:/ (Fixed Disk) :
>          Bytes Total 7.86 GB / 8048 MB
> Drive D:/ (Cd-Rom Drive) :
> Drive E:/ (Remote Network Drive) :
>          Bytes Total 1.20 GB / 1229 MB
> Drive F:/ (Remote Network Drive) :
>          Bytes Total 1.20 GB / 1229 MB
>

isso, só as linhas que queremos.

> 2 parte: sed 'N;s,: *\n,;,;s/[[:blank:]]\+/ /g;s,^\|$,;,g'
>
> Drive A:/ (Removable Disk) :;
> ;Drive C:/ (Fixed Disk) ; Bytes Total 7.86 GB / 8048 MB;
> ;Drive D:/ (Cd-Rom Drive) ;Drive E:/ (Remote Network Drive) :;
> ; Bytes Total 1.20 GB / 1229 MB
> Drive F:/ (Remote Network Drive) :;
> ; Bytes Total 1.20 GB / 1229 MB

sim, é que eu juntei em cada linha o Drive e o Bytes total
referente a ele.

> Tentei usar esse parametro também mas não consegui:
> sed ":a;$!N;s/\n/ /;ta"  pois existe alguns tabs/espaços no meio
> e zoa todo o arquivo deixando com espços no meio.

sim, então temos que limpar isto, usando o s/[[:blank:]]\+/ /g,
ou seja, trocamos todos os \t e espaços por apenas 1 espaço

> Estou tentando deixar o arquivo nesse formato(csv), mas para isso
> preciso que as info. fique assim:
>
> ;A:/ (Removable Disk) :;Drive C:/ (Fixed Disk)  Bytes Total 7.86 GB / 8048 MB;Drive D:/ Cd-Rom Drive) ;Drive E:/ (Remote Network Drive) : Bytes Total 1.20 GB / 1229 MB;Drive F:/ (Remote Network Drive) : Bytes Total 1.20 GB / 1229 MB;

ok, então você quer tudo em 1 linha separado por ponto-e-virgula.
vamos lá:

$ cat x | sed '/Drive\|Total/!d'
Drive A:/ (Removable Disk) :
Drive C:/ (Fixed Disk) :
  Bytes Total 7.86 GB / 8048 MB
Drive D:/ (Cd-Rom Drive) :
Drive E:/ (Remote Network Drive) :
  Bytes Total 1.20 GB / 1229 MB
Drive F:/ (Remote Network Drive) :
  Bytes Total 1.20 GB / 1229 MB

blz! agora vamos arrumar esta saída.

$ cat x | sed '/Drive\|Total/!d' |\
sed ':a;$!N;s/\n/; /;ta;s/[[:blank:]]\+/ /g;s,.*,;&;,'
;Drive A:/ (Removable Disk) :; Drive C:/ (Fixed Disk) :; Bytes Total 7.86 GB / 8048 MB; Drive D:/ (Cd-Rom Drive) :; Drive E:/ (Remote Network Drive) :; Bytes Total 1.20 GB / 1229 MB; Drive F:/ (Remote Network Drive) :; Bytes Total 1.20 GB / 1229 MB;

:a;$!N;s/\n/; /;ta - juntamos tudo em 1 linha separando por '; '
            ou seja, trocamos \n por '; '

s/[[:blank:]]\+/ /g - aqui tiramos espaços repetidos e TAB

s,.*,;&;, -  colcoamos ; no início e no fim da linha.

blz ?

thobias
-------
echo 9446046325380026818553633794429812592304650P | dc
-------
http://www.lcp.coppe.ufrj.br/~thobias

____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------



--
para sair da lista: sed-br-unsubscribe@...


Seu uso do Yahoo! Grupos é sujeito aos Termos do Serviço Yahoo!.

#1626 De: Renato Silveira <Renato.Silveira@...>
Data: Ter, 13 de Mai de 2003 6:24 pm
Assunto: novato pede help
Renato.Silveira@...
Enviar e-mail Enviar e-mail
 
Pessoal,
 
Como o sed poderia me ajudar neste problema :
 
Imprimir somente as linhas do arquivo onde as 4 primeira posições sejam "espaço em branco" ex.
 
    1    xxxx adfadfafasdfasdf
    2    yyyy jkladfasdfasdfasdf
    3            adfasfasfasfasdf
    4    zzzz asdfasfasdfasdfasdf
    5    aaaa 122222222222
    6            21111111111111
    7     bbbb afasdfasfasdfasdf
 
 
Imprimir a linha 3 e 6 .
 
Obrigado !
 
Renato

#1627 De: Thobias Salazar Trevisan <thobias@...>
Data: Ter, 13 de Mai de 2003 6:59 pm
Assunto: Re: novato pede help
servagem
Enviar e-mail Enviar e-mail
 
ae renato,

On Tue, 13 May 2003, Renato Silveira wrote:

> Imprimir somente as linhas do arquivo onde as 4 primeira posições sejam
> "espaço em branco" ex.

sed -n '/^[ ]\{4\}/p'

^   - início de linha
[ ] - espaço em branco
{4} - repetidos 4 vezes
p   - imprime

falow

thobias
-------
echo 9446046325380026818553633794429812592304650P | dc
-------
http://www.lcp.coppe.ufrj.br/~thobias

____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------

#1628 De: Renato Silveira <Renato.Silveira@...>
Data: Ter, 13 de Mai de 2003 7:41 pm
Assunto: RES: novato pede help
Renato.Silveira@...
Enviar e-mail Enviar e-mail
 
Obrigado pelo ajuda Thobias. Funcionou !

Renato Silveira
ID : 3157*145



-----Mensagem original-----
De: Thobias Salazar Trevisan [mailto:thobias@...]
Enviada em: terça-feira, 13 de maio de 2003 15:59
Para: sed-br@...
Assunto: Re: [sed-br] novato pede help



ae renato,

On Tue, 13 May 2003, Renato Silveira wrote:

> Imprimir somente as linhas do arquivo onde as 4 primeira posições sejam
> "espaço em branco" ex.

sed -n '/^[ ]\{4\}/p'

^   - início de linha
[ ] - espaço em branco
{4} - repetidos 4 vezes
p   - imprime

falow

thobias
-------
echo 9446046325380026818553633794429812592304650P | dc
-------
http://www.lcp.coppe.ufrj.br/~thobias

____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------


--
para sair da lista: sed-br-unsubscribe@...

Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html

#1629 De: "Luciano ES" <luc-groups@...>
Data: Ter, 13 de Mai de 2003 7:32 pm
Assunto: Re: 2 aspas, sem PCRE
lucianolists
Enviar e-mail Enviar e-mail
 
Puxa, Aurélio, essa msg deve ter sido muito chata para você escrever,
mas eu gostei muito de ler... porque entendi tudo! Sua abordagem é muito
boa mesmo, você é um mestre zen... Só no finalzinho a coisa ficou um
pouco confusa, e teve um troço que você fez ali que eu nunca teria
pensado sozinho, mas tudo bem. Logo depois entendi e vi o pulo do gato.
	 Talvez eu precise mesmo rever os meus conceitos. Eu tenho mania de querer
fazer tudo numa regex só, tipo um raio laser de alta precisão que vai
com tudo mas corta direitinho sem errar e deixa o produto acabado, sem
sobra, sem talhos nem rebarbas. Mas talvez essa não seja mesmo a melhor
forma. Bela aula, como sempre. Obrigadão!

--
	 Luciano Espirito Santo
	 Santos, SP - Brasil

<-quote-> **************************************************
On 08/05/03 at 16:49, aurelio wrote in 8K:
Assunto/Subject: Re: [sed-br] 2 aspas, sem PCRE

>ae luciano,
>
>finalmente vou limpar o INBOX... espero que ainda te sirva.
>
>AVISO: e-mail looooongo e chato, leia quando estiver com tempo.
>...

[a mensagem original foi editada para poupar espaço e utilização de
recursos; consulte os arquivos da lista se quiser vê-la inteira]

********* END OF ORIGINAL MESSAGE *********</-quote->

#1630 De: Davis Zanetti Cabral <davis.cabral@...>
Data: Qua, 14 de Mai de 2003 4:11 pm
Assunto: duhhh =o(
davis_cabral
Enviar e-mail Enviar e-mail
 
s/ [0-9]\{2\}-[0-9]\{2\}-[0-9]\{2\}//
tem como eu deixar esse comando menorzinhu e talls? ou fazer de outra forma?

caso tenha e alguem o faça pra mim... peço que me detalhe e talls... pra eu
aprender =o)

tenho:
264 1 03-05-13 19:34:49
264 1 03-05-13 19:40:23
401 1 03-05-13 23:46:23
292 1 03-05-13 23:53:44

e tah voltando blz:
264 1 19:34:49
264 1 19:40:23
401 1 23:46:23
292 1 23:53:44

valeus ae galera =o)

[]'s

Davis Zanetti Cabral - s4t4n
e-mail: davis at phphp.com.br
web site: http://www.phphp.com.br/
portifolio: http://s4t4n.tfhell.com.br/
"Melhor queimar de uma vez, que apagar aos poucos"


__________Confidencialidade do Correio do Eletrônico_________________
Informações confidenciais podem estar contidas nesta mensagem. Se você não
se encontra na lista de destinatários ou não é o remetente da mesma, você
não deve copiar ou enviar esta mensagem para ninguém. Neste caso, você deve
destruir e notificar o remetente da mesma. A empresa considera opiniões,
conclusões e outras informações que não se relacionam com o negócio oficial
da corporação de responsabilidade do usuário do serviço.
_____________________________________________________________
__________Confidencialidade do Correio do Eletrônico_________________
Informações confidenciais podem estar contidas nesta mensagem. Se você não
se encontra na lista de destinatários ou não é o remetente da mesma, você
não deve copiar ou enviar esta mensagem para ninguém. Neste caso, você deve
destruir e notificar o remetente da mesma. A empresa considera opiniões,
conclusões e outras informações que não se relacionam com o negócio oficial
da corporação de responsabilidade do usuário do serviço.
_____________________________________________________________

#1631 De: Marcelo Pereira <gandalf_mp@...>
Data: Qua, 14 de Mai de 2003 7:41 pm
Assunto: Re: duhhh =o(
gandalf_mp
Enviar e-mail Enviar e-mail
 
Oi Davis,

O arquivo SEMPRE terá este formato??

Se sim, então pode usar:

s/..-..-..//

Ajudou??

Pode ter outras soluções mais polidas (aurélio??), mas
essa já simplifica bem...

[]'s

Marcelo Pereira
PHP/SQL/PostgreSQL
Slackware Linux

  --- Davis Zanetti Cabral <davis.cabral@...>
escreveu:
---------------------------------
s/ [0-9]\{2\}-[0-9]\{2\}-[0-9]\{2\}//
tem como eu deixar esse comando menorzinhu e talls? ou
fazer de outra forma?

caso tenha e alguem o faça pra mim... peço que me
detalhe e talls... pra eu
aprender =o)

tenho:
264 1 03-05-13 19:34:49
264 1 03-05-13 19:40:23
401 1 03-05-13 23:46:23
292 1 03-05-13 23:53:44

e tah voltando blz:
264 1 19:34:49
264 1 19:40:23
401 1 23:46:23
292 1 23:53:44

valeus ae galera =o)

[]'s

Davis Zanetti Cabral - s4t4n
e-mail: davis at phphp.com.br
web site: http://www.phphp.com.br/
portifolio: http://s4t4n.tfhell.com.br/
"Melhor queimar de uma vez, que apagar aos poucos"


__________Confidencialidade do Correio do
Eletrônico_________________
Informações confidenciais podem estar contidas nesta
mensagem. Se você não
se encontra na lista de destinatários ou não é o
remetente da mesma, você
não deve copiar ou enviar esta mensagem para ninguém.
Neste caso, você deve
destruir e notificar o remetente da mesma. A empresa
considera opiniões,
conclusões e outras informações que não se relacionam
com o negócio oficial
da corporação de responsabilidade do usuário do
serviço.
_____________________________________________________________

Yahoo! Groups Sponsor        Escolha uma entre + de
110.000 vagas!- Profissional- Profissional :
Diretoria- Profissional : Gerência- Profissional
: Supervisão- Profissional : Superior-
Profissional : Técnico- Profissional : Outros-
Recém-formados- Estágiários
[input]  [input]  [input]
--
para sair da lista:
sed-br-unsubscribe@...

Seu uso do Yahoo! Grupos é sujeito aos Termos do
Serviço Yahoo!.

> ATTACHMENT part 2 application/ms-tnef
> __________Confidencialidade do Correio do
> Eletrônico_________________
> Informações confidenciais podem estar contidas nesta
> mensagem. Se você não
> se encontra na lista de destinatários ou não é o
> remetente da mesma, você
> não deve copiar ou enviar esta mensagem para
> ninguém. Neste caso, você deve
> destruir e notificar o remetente da mesma. A empresa
> considera opiniões,
> conclusões e outras informações que não se
> relacionam com o negócio oficial
> da corporação de responsabilidade do usuário do
> serviço.
>
_____________________________________________________________
>

_______________________________________________________________________
Yahoo! Mail
O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3,
filtro contra spam.
http://br.mail.yahoo.com/

#1632 De: aurelio <aureliojargas@...>
Data: Qua, 14 de Mai de 2003 7:45 pm
Assunto: Re: duhhh =o(
aureliojargas
Enviar e-mail Enviar e-mail
 
ae davis,

> s/ [0-9]\{2\}-[0-9]\{2\}-[0-9]\{2\}//
> tem como eu deixar esse comando menorzinhu e talls?

> tenho:
> 264 1 03-05-13 19:34:49
> 264 1 03-05-13 19:40:23
> 401 1 03-05-13 23:46:23
> 292 1 03-05-13 23:53:44
>
> e tah voltando blz:
> 264 1 19:34:49
> 264 1 19:40:23
> 401 1 23:46:23
> 292 1 23:53:44

olha, a ER que você usou está corretíssima. apenas como os
números só se repetem 2 vezes, é mais simples colocá-los
diretamente:

   s/ [0-9][0-9]-[0-9][0-9]-[0-9][0-9]//

mas olhando assim, vemos que o trecho "[0-9][0-9]-" se repete
duas vezes, então podemos fazer:

   s/ \([0-9][0-9]-\)\{2\}[0-9][0-9]//

o que diminui o tamanho da expressão, mas a torna mais difícil
de entender.

caso você queira algo realmente menor e menos preciso, o comando
abaixo serve:

   s/ [0-9][0-9-]\+//

ou seja, você apaga um espaço seguido de um número, seguido
de uma combinação qualquer de números e traços.

isso assumindo que a segunda coluna sempre é um número de 0 a 9
somente. se for 10 ou maior é ele que será apagado.

ou ainda

   s/ [0-9-]\{3,\}//

pra assegurar que vai pegar uma string de pelo menos 3 caracteres.


é isso :)

=====
--
ATENCAO: o www.verde666.org vai morrer, use www.aurelio.net
ATTENTION: www.verde666.org is no more, use www.aurelio.net

_______________________________________________________________________
Yahoo! Mail
O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3,
filtro contra spam.
http://br.mail.yahoo.com/

#1633 De: Mario Domenech Goulart <mario@...>
Data: Qua, 14 de Mai de 2003 8:11 pm
Assunto: Re: duhhh =o(
ec4mango
Enviar e-mail Enviar e-mail
 
Oi

On 14 May 2003 Davis Zanetti Cabral wrote:

  > s/ [0-9]\{2\}-[0-9]\{2\}-[0-9]\{2\}//
  > tem como eu deixar esse comando menorzinhu e talls? ou fazer de outra forma?
  >
  > caso tenha e alguem o faça pra mim... peço que me detalhe e talls... pra eu
  > aprender =o)
  >
  > tenho:
  > 264 1 03-05-13 19:34:49
  > 264 1 03-05-13 19:40:23
  > 401 1 03-05-13 23:46:23
  > 292 1 03-05-13 23:53:44
  >
  > e tah voltando blz:
  > 264 1 19:34:49
  > 264 1 19:40:23
  > 401 1 23:46:23
  > 292 1 23:53:44
  >
  > valeus ae galera =o)

De outra forma:

s/\(.*\) \(.*\) \(.*\)/\1 \3/

Considera que tens 4 campos separados por brancos. Pega os dois
primeiros campos como um grupo (\1), o segundo campo (que queres
tirar) como outro grupo (\2) e o terceiro campo (\3). Substitui tudo
por "\1 \3" (o primeiro e o terceiro grupo). Nao e' tao precisa quanto
a er que colocaste, que especifica o formato campo
(2digitos-2digitos-2digitos) em vez de trabalhar com grupos.

Outra forma, off-topic, e' com o cut:

echo "264 1 03-05-13 19:34:49" | cut -d " " -f "1 2 4"

Faz o mesmo que a er que coloquei acima, so' que nao agrupa os dois
primeiros campos em um grupo.

Um abraco.
Mario


  >
  > []'s
  >
  > Davis Zanetti Cabral - s4t4n
  > e-mail: davis at phphp.com.br
  > web site: http://www.phphp.com.br/
  > portifolio: http://s4t4n.tfhell.com.br/
  > "Melhor queimar de uma vez, que apagar aos poucos"
  >
  >
  > __________Confidencialidade do Correio do Eletrônico_________________
  > Informações confidenciais podem estar contidas nesta mensagem. Se você não
  > se encontra na lista de destinatários ou não é o remetente da mesma, você
  > não deve copiar ou enviar esta mensagem para ninguém. Neste caso, você deve
  > destruir e notificar o remetente da mesma. A empresa considera opiniões,
  > conclusões e outras informações que não se relacionam com o negócio oficial
  > da corporação de responsabilidade do usuário do serviço.
  > _____________________________________________________________
  >
  > --
  > para sair da lista: sed-br-unsubscribe@...
  >
  > Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
  >
  > __________Confidencialidade do Correio do Eletrônico_________________
  > Informações confidenciais podem estar contidas nesta mensagem. Se você não
  > se encontra na lista de destinatários ou não é o remetente da mesma, você
  > não deve copiar ou enviar esta mensagem para ninguém. Neste caso, você deve
  > destruir e notificar o remetente da mesma. A empresa considera opiniões,
  > conclusões e outras informações que não se relacionam com o negócio oficial
  > da corporação de responsabilidade do usuário do serviço.
  > _____________________________________________________________

#1634 De: Marcelo Pereira <gandalf_mp@...>
Data: Qua, 14 de Mai de 2003 8:45 pm
Assunto: Re: duhhh =o(
gandalf_mp
Enviar e-mail Enviar e-mail
 
ae!

> De outra forma:
>
> s/\(.*\) \(.*\) \(.*\)/\1 \3/

Talvez você quisesse acrescenter um \(.*\) e mostrar o
\1, \3 e \4, ficando assim:

s/\(.*\) \(.*\) \(.*\) \(.*\)/\1 \2 \4/

Correto??

[]'s

Marcelo Pereira
---oo-](+)[-oo---

_______________________________________________________________________
Yahoo! Mail
O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3,
filtro contra spam.
http://br.mail.yahoo.com/

#1635 De: aurelio <aureliojargas@...>
Data: Qua, 14 de Mai de 2003 8:33 pm
Assunto: Re: duhhh =o(
aureliojargas
Enviar e-mail Enviar e-mail
 
ae marcelo,

  --- Marcelo Pereira <gandalf_mp@...> escreveu:
> O arquivo SEMPRE terá este formato??
> Se sim, então pode usar:
> s/..-..-..//

nossa cara, perfeito!


> Pode ter outras soluções mais polidas (aurélio??), mas
> essa já simplifica bem...

a tua tá melhor, bem mais simples e fácil de entender, massa!



=====
--
ATENCAO: o www.verde666.org vai morrer, use www.aurelio.net
ATTENTION: www.verde666.org is no more, use www.aurelio.net

_______________________________________________________________________
Yahoo! Mail
O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3,
filtro contra spam.
http://br.mail.yahoo.com/

#1636 De: "Luciano ES" <luc-groups@...>
Data: Qua, 14 de Mai de 2003 8:19 pm
Assunto: Re: duhhh =o(
lucianolists
Enviar e-mail Enviar e-mail
 
A única coisa que me ocorre é:
	 s/  ([0-9]{2}-?){3}//
	 É menor, mas não é muito mais simples. Ou então:
	 s/ ([0-9-]{8})//

	 Mas não sei o que é "talls".

--
	 Luciano Espirito Santo
	 Santos, SP - Brasil

<-quote-> **************************************************
On 14/05/03 at 13:11, Davis Zanetti Cabral wrote in 8K:
Assunto/Subject: [sed-br] duhhh =o(

>s/ [0-9]\{2\}-[0-9]\{2\}-[0-9]\{2\}//
>tem como eu deixar esse comando menorzinhu e talls? ou fazer de outra
forma?
>
>tenho:
>264 1 03-05-13 19:34:49
>264 1 03-05-13 19:40:23
>401 1 03-05-13 23:46:23
>292 1 03-05-13 23:53:44
>
>e tah voltando blz:
>264 1 19:34:49
>264 1 19:40:23
>401 1 23:46:23
>292 1 23:53:44

********* END OF ORIGINAL MESSAGE *********</-quote->

#1637 De: aurelio <aureliojargas@...>
Data: Qua, 14 de Mai de 2003 8:22 pm
Assunto: Re: Re: 2 aspas, sem PCRE
aureliojargas
Enviar e-mail Enviar e-mail
 
ae luciano,

  --- Luciano ES <luc-groups@...> escreveu:
> Puxa, Aurélio, essa msg deve ter sido muito chata para você
> escrever, mas eu gostei muito de ler... porque entendi tudo!

beleza cara! então valeu o esforço :)

> Talvez eu precise mesmo rever os meus conceitos. Eu tenho mania
> de querer fazer tudo numa regex só, tipo um raio laser de alta
> precisão que vai com tudo mas corta direitinho sem errar e deixa
> o produto acabado, sem sobra, sem talhos nem rebarbas. Mas talvez
> essa não seja mesmo a melhor forma.

olha, isso é mesmo uma coisa engraçada e acho que até vale a pena
por no livro.

antes eu pensava exatamente assim como você descreveu. sempre
fazia tudo num s/// só, marcando altos grupos e abusando dos
retrovisores depois.

depois, lendo mensagens na sed-users, vendo as técnicas dos
outros e com a experiência das funções ZZ, acabei migrando
para a tática do
vai-cortando-todos-os-lixos-até-que-sobre-o-que-vc-quer-no-final

alguns motivos, alguns técnicos, outros meramente emocionais do
porque fazer isso.

exemplo para os que não entenderam direito do que estamos falando:

texto:  "Oi, tudo bem? Tudo bem! Fora o tédio! Que me consome..."
o que eu quero: "Tudo Bem!"

tática 1 - laser de alta precisão:

   sed -n 's/^Oi.*? \([^!]*!\) .*/\1/p'

tática 2 - faxina:

   sed '/^Oi/!d ; s/!.*/!/ ; s/.*? //'


diferenças:

   1. usar o -n é palha. sempre qdo se precisa do grep+sed, lá
      vem o -n. eu prefiro usar o /.../!d e depois limpar somente
      as linhas que interessam
   2. a eliminação "em partes" tende a precisar de ERs mais simples,
      logo se torna mais fácil de compor
   3. diz a lenda que usar o retrovisor deixa o sed mais lento,
      então sempre que puder evitá-lo é uma boa
   4. note que no 1o foi necessário usar o [^!] por que o .* iria
      até a segunda exclamação. no 2o o s/!.*// resolve isso fácil
   5. para problemas complicados como o seu, nem sempre dá pra
      fazer todas as exceções numa ER somente, e acaba sendo mais
      easy-riding fazer pequenos pedacinhos e ir acompanhando a
      evolução do script até chegar no nirvana
   6. entender as coisas por partes é mais fácil do que encarar
      um comandão de 80 carcteres de uma vez (vide palavras longas
      em alemão :)
   7. na tática 2 geralmente se usa o .* para especificar partes
      do lixo, e usar .* é massa :)

ah, no fim, use o que você mais gosta :)


=====
--
ATENCAO: o www.verde666.org vai morrer, use www.aurelio.net
ATTENTION: www.verde666.org is no more, use www.aurelio.net

_______________________________________________________________________
Yahoo! Mail
O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3,
filtro contra spam.
http://br.mail.yahoo.com/

#1638 De: Mario Domenech Goulart <mario@...>
Data: Qua, 14 de Mai de 2003 9:39 pm
Assunto: Re: duhhh =o(
ec4mango
Enviar e-mail Enviar e-mail
 
On 14 May 2003 Marcelo Pereira wrote:

  > ae!
  >
  > > De outra forma:
  > >
  > > s/\(.*\) \(.*\) \(.*\)/\1 \3/
  >
  > Talvez você quisesse acrescenter um \(.*\) e mostrar o
  > \1, \3 e \4, ficando assim:
  >
  > s/\(.*\) \(.*\) \(.*\) \(.*\)/\1 \2 \4/
  >
  > Correto??

Tambem pode ser. E' que juntei os dois primeiros campos em um so'
grupo, para deixar a ER mais curta:

       \1        \2     \3
/-----------\ /----\ /----\
campo1 campo2 campo3 campo4

Um abraco.
Mario

  >
  > []'s
  >
  > Marcelo Pereira
  > ---oo-](+)[-oo---
  >
  > _______________________________________________________________________
  > Yahoo! Mail
  > O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3,
filtro contra spam.
  > http://br.mail.yahoo.com/
  >
  > --
  > para sair da lista: sed-br-unsubscribe@...
  >
  > Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
  >

#1639 De: "Luciano ES" <luc-groups@...>
Data: Qua, 14 de Mai de 2003 11:43 pm
Assunto: Re: 2 aspas, sem PCRE
lucianolists
Enviar e-mail Enviar e-mail
 
Nossa, cara, que idéia! Regex em alemão deve ser divertidíssimo!!!
:-))

--
	 Luciano Espirito Santo
	 Santos, SP - Brasil

<-quote-> **************************************************
On 14/05/03 at 17:22, aurelio wrote in 5K:
Assunto/Subject: Re: [sed-br] Re: 2 aspas, sem PCRE

>  6. entender as coisas por partes é mais fácil do que encarar
>     um comandão de 80 carcteres de uma vez (vide palavras longas
>     em alemão :)

********* END OF ORIGINAL MESSAGE *********</-quote->

#1640 De: Davis Zanetti Cabral <davis.cabral@...>
Data: Qui, 15 de Mai de 2003 12:16 pm
Assunto: RES: duhhh =o(
davis_cabral
Enviar e-mail Enviar e-mail
 
valeus galera pela forca ae... deu pra sacar num exemplo soh
varias coisas... e *talls* =o)

[]s

Davis

ps.: talls eh talls =o)

> -----Mensagem original-----
> De: Mario Domenech Goulart <mario@...>@CELULAR
> Enviada em: Wednesday, May 14, 2003 6:39 PM
> Para: sed-br@...
> Assunto: Re: [sed-br] duhhh =o(
>
>
> On 14 May 2003 Marcelo Pereira wrote:
>
> > ae!
> >
> > > De outra forma:
> > >
> > > s/\(.*\) \(.*\) \(.*\)/\1 \3/
> >
> > Talvez você quisesse acrescenter um \(.*\) e mostrar o
> > \1, \3 e \4, ficando assim:
> >
> > s/\(.*\) \(.*\) \(.*\) \(.*\)/\1 \2 \4/
> >
> > Correto??
>
> Tambem pode ser. E' que juntei os dois primeiros campos em um so'
> grupo, para deixar a ER mais curta:
>
> \1        \2     \3
> /-----------\ /----\ /----\
> campo1 campo2 campo3 campo4
>
> Um abraco.
> Mario
>
> >
> > []'s
> >
> > Marcelo Pereira
> > ---oo-](+)[-oo---
> >
> > _______________________________________________________________________
> > Yahoo! Mail
> > O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso
> POP3, filtro contra spam.
> > http://br.mail.yahoo.com/
> >
> > --
> > para sair da lista: sed-br-unsubscribe@...
> >
> > Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html
> >
>
> --
> para sair da lista: sed-br-unsubscribe@...
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html
>
>


__________Confidencialidade do Correio do Eletrônico_________________
Informações confidenciais podem estar contidas nesta mensagem. Se você não
se encontra na lista de destinatários ou não é o remetente da mesma, você
não deve copiar ou enviar esta mensagem para ninguém. Neste caso, você deve
destruir e notificar o remetente da mesma. A empresa considera opiniões,
conclusões e outras informações que não se relacionam com o negócio oficial
da corporação de responsabilidade do usuário do serviço.
_____________________________________________________________
__________Confidencialidade do Correio do Eletrônico_________________
Informações confidenciais podem estar contidas nesta mensagem. Se você não
se encontra na lista de destinatários ou não é o remetente da mesma, você
não deve copiar ou enviar esta mensagem para ninguém. Neste caso, você deve
destruir e notificar o remetente da mesma. A empresa considera opiniões,
conclusões e outras informações que não se relacionam com o negócio oficial
da corporação de responsabilidade do usuário do serviço.
_____________________________________________________________

#1641 De: Frederico BOHNE Espinosa <bohne_listas@...>
Data: Sex, 16 de Mai de 2003 2:27 pm
Assunto: auxilio
tchebohne
Enviar e-mail Enviar e-mail
 
Amigos:

	 Tenho uma linha com o seguinte formato:

aaaaaa!bbbbbbbb@cccccccc

	 Preciso que fique:

aaaaaa!cccccccc

	 Atentando que o que estah entre a '!' e a "@" eh de tamanho variavel.

				 Grato

				 Bohne

#1642 De: "Luciano ES" <luc-groups@...>
Data: Sex, 16 de Mai de 2003 2:47 pm
Assunto: Re: auxilio
lucianolists
Enviar e-mail Enviar e-mail
 
sed -r 's/([^!]+!)[^@]+@(.*)/\1\2/'

--
	 Luciano Espirito Santo
	 Santos, SP - Brasil

<-quote-> **************************************************
On 16/05/03 at 11:27, Frederico BOHNE Espinosa wrote in 3K:
Assunto/Subject: [sed-br] auxilio

> Tenho uma linha com o seguinte formato:
>
>aaaaaa!bbbbbbbb@cccccccc
>
> Preciso que fique:
>
>aaaaaa!cccccccc
>
> Atentando que o que estah entre a '!' e a "@" eh de tamanho variavel.

********* END OF ORIGINAL MESSAGE *********</-quote->

#1643 De: aurelio <aureliojargas@...>
Data: Sex, 16 de Mai de 2003 5:29 pm
Assunto: Re: Re: auxilio
aureliojargas
Enviar e-mail Enviar e-mail
 
nossa,

mas que canhão pra matar essa mosquinha :)

  --- Luciano ES <luc-groups@...> escreveu:
> sed -r 's/([^!]+!)[^@]+@(.*)/\1\2/'

   sed 's/!.*@/!/'

ou caso queira a versão não gulosa

   sed 's/![^@]*@/!/'


> > Tenho uma linha com o seguinte formato:
> >aaaaaa!bbbbbbbb@cccccccc
> >
> > Preciso que fique:
> >aaaaaa!cccccccc


=====
--
ATENCAO: o www.verde666.org vai morrer, use www.aurelio.net
ATTENTION: www.verde666.org is no more, use www.aurelio.net

_______________________________________________________________________
Yahoo! Mail
O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3,
filtro contra spam.
http://br.mail.yahoo.com/

#1644 De: Thobias Salazar Trevisan <thobias@...>
Data: Sex, 16 de Mai de 2003 5:03 pm
Assunto: Re: auxilio
servagem
Enviar e-mail Enviar e-mail
 
ae frederico,

On 16 May 2003, Frederico BOHNE Espinosa wrote:

>  Tenho uma linha com o seguinte formato:
> aaaaaa!bbbbbbbb@cccccccc
>  Preciso que fique:
> aaaaaa!cccccccc

$ echo 'aaaaaa!bbbbbbbb@cccccccc' | sed 's/!.*@/!/'
aaaaaa!cccccccc

apaga tudo entre ! e @, inclusive os delimitadores, por isto
temos que colocar o último !

falow

thobias
-------
echo 9446046325380026818553633794429812592304650P | dc
-------
http://www.lcp.coppe.ufrj.br/~thobias

____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------

#1645 De: Davis Zanetti Cabral <davis.cabral@...>
Data: Sex, 16 de Mai de 2003 6:11 pm
Assunto: meu sed é tosco
davis_cabral
Enviar e-mail Enviar e-mail
 

putz... meu sed é tosco =o)

antes de tudo: meu sed no SunOS 5.7 =o)
pq sed rox =oD

vejam isso...

fnsomc{scadm}$ echo abcdefghi | sed 's/\(a\|b\)/x/'
abcdefghi
fnsomc{scadm}$ echo abcdefghi | sed 's/\(a\)/x/'
xbcdefghi

em um sed passado, cheguei a pensar que o sed num aceitava lista...
mas ae ele aceitou - tah certo que eh uma lista de um elemento soh -
mas eh lista, neh nao? ele parece que num reconhece o '\|'...
se alguem souber o pq disso... agradeço a explicação hehe

Davis Zanetti Cabral - s4t4n
e-mail: davis at phphp.com.br
web site: http://www.phphp.com.br/
portifolio: http://s4t4n.tfhell.com.br/
"Melhor queimar de uma vez, que apagar aos poucos"


__________Confidencialidade do Correio do Eletrônico_________________
Informações confidenciais podem estar contidas nesta mensagem. Se você não
se encontra na lista de destinatários ou não é o remetente da mesma, você
não deve copiar ou enviar esta mensagem para ninguém. Neste caso, você deve
destruir e notificar o remetente da mesma. A empresa considera opiniões,
conclusões e outras informações que não se relacionam com o negócio oficial
da corporação de responsabilidade do usuário do serviço.
______________________________________________________ _______


#1646 De: "CLOVIS VICTOR PROTTI" <cprotti@...>
Data: Seg, 19 de Mai de 2003 3:59 pm
Assunto: (Sem assunto)
cvprotti
Enviar e-mail Enviar e-mail
 
Clovis Victor Protti
°°°°°°°°°°°°°°°°°°°°°°°°°°°°
Tribunal R. Federal - 3ª R.
   DSEC - 55-11-3311-4691

#1647 De: "Mauricio B. C. Vieira" <mvieira@...>
Data: Seg, 19 de Mai de 2003 8:29 pm
Assunto: Regex e-mail
mbcvieira
Enviar e-mail Enviar e-mail
 
Alguém aqui já fez uma regex para tratar e-mail em sed?



--
Mauricio B. C. Vieira - <mvieira@...>
Estudante de Ciência da Computação - http://twiki.im.ufba.br/~MauricioVieira
Membro do GAVRI - http://gavri.im.ufba.br

#1648 De: "Luciano ES" <luc-groups@...>
Data: Ter, 20 de Mai de 2003 10:56 am
Assunto: Re: Regex e-mail
lucianolists
Enviar e-mail Enviar e-mail
 
Rapaz, que pergunta mais vaga. No caso, você quer fazer o quê, por
exemplo, mais especificamente?

--
	 Luciano Espirito Santo
	 Santos, SP - Brasil

<-quote-> **************************************************
On 19/05/03 at 17:29, Mauricio B. C. Vieira wrote in 2K:
Assunto/Subject: [sed-br] Regex e-mail

>Alguém aqui já fez uma regex para tratar e-mail em sed?

********* END OF ORIGINAL MESSAGE *********</-quote->

#1649 De: "Mauricio B. C. Vieira" <mvieira@...>
Data: Ter, 20 de Mai de 2003 12:49 pm
Assunto: Re: Re: Regex e-mail
mbcvieira
Enviar e-mail Enviar e-mail
 
Desculpe-me:

   recebo um e-mail num script. quero checar se o e-mail é válido.

   queria algo melhor do que : .+@.+

On Tue, May 20, 2003 at 07:56:37AM -0300, Luciano ES wrote:
>  Rapaz, que pergunta mais vaga. No caso, você quer fazer o quê, por
> exemplo, mais especificamente?
>
> --
>  Luciano Espirito Santo
>  Santos, SP - Brasil
>
> <-quote-> **************************************************
> On 19/05/03 at 17:29, Mauricio B. C. Vieira wrote in 2K:
> Assunto/Subject: [sed-br] Regex e-mail
>
> >Alguém aqui já fez uma regex para tratar e-mail em sed?
>

--
Mauricio B. C. Vieira - <mvieira@...>
Estudante de Ciência da Computação - http://twiki.im.ufba.br/~MauricioVieira
Membro do GAVRI - http://gavri.im.ufba.br

#1650 De: "Luciano ES" <luc-groups@...>
Data: Ter, 20 de Mai de 2003 1:03 pm
Assunto: Re: Regex e-mail
lucianolists
Enviar e-mail Enviar e-mail
 
Aaah, agora sim.

	 Eu conheço dois jeitos:
	 ([A-Za-z0-9_.-]+)@([A-Za-z0-9_-]+)+\.[A-Za-z]{2,4}
	 e
	 ([A-Za-z0-9_.-]+)@([A-Za-z0-9_-]+)+\.([A-Za-z]{2,4}|[A-Za-z]{6})

	 O segundo serve para casar o único domínio top-level de 6 letras que
eu conheço: .museum. Nunca vi com cinco letras, mas pode aparecer, daí
você usa
	 ([A-Za-z0-9_.-]+)@([A-Za-z0-9_-]+)+\.[A-Za-z]{2,6}


	 Há quem diga que não há forma 100% segura de casar um endereço de
e-mail com ER, e que quem as usa para isso está se enganando.
	 Mas também tem gente que não acredita em duendes, pra você ver.

--
	 Luciano Espirito Santo
	 Santos, SP - Brasil

<-quote-> **************************************************
On 20/05/03 at 09:49, Mauricio B. C. Vieira wrote in 3K:
Assunto/Subject: Re: [sed-br] Re: Regex e-mail

>  recebo um e-mail num script. quero checar se o e-mail é válido.
>  queria algo melhor do que : .+@.+

********* END OF ORIGINAL MESSAGE *********</-quote->

#1651 De: aurelio <aureliojargas@...>
Data: Ter, 20 de Mai de 2003 1:36 pm
Assunto: Re: Re: Regex e-mail
aureliojargas
Enviar e-mail Enviar e-mail
 
aes,

  --- Luciano ES <luc-groups@...> escreveu:
>  Eu conheço dois jeitos:
>  ([A-Za-z0-9_.-]+)@([A-Za-z0-9_-]+)+\.[A-Za-z]{2,4}

vem cá, pra que os grupos?

 	 [A-Za-z0-9_.-]+@[A-Za-z0-9_-]+\.[A-Za-z]{2,4}

funciona igual. só que essa tua ER tem um pobreminha., ela não
casa foo@... porque depois da arroba você só deixou a
possibilidade de haver apenas um ponto .

pra arrumar é fácil, basta quantificar as letras e o ponto.

 	 [A-Za-z0-9_.-]+@([A-Za-z0-9_-]+\.)+[A-Za-z]{2,4}

se o teu sed suportar bordas, é bom especificá-las também:

 	 \<[A-Za-z0-9_.-]+@([A-Za-z0-9_-]+\.)+[A-Za-z]{2,4}\>
ou
 	 \b[A-Za-z0-9_.-]+@([A-Za-z0-9_-]+\.)+[A-Za-z]{2,4}\b

> Há quem diga que não há forma 100% segura de casar um endereço de
> e-mail com ER, e que quem as usa para isso está se enganando.

é verdade :)

quer dizer, a ER acima pega a *maioria* dos emails reais válidos
que se usa normalmente. ( .museum? fala sééério ;)

mas *se* você seguir a RFC que define as formas válidas de e-mail,
você acaba com uma ER monstruosa igual a que tem no livro
Mastering Regular Expressions e tem mais de 6000 caracteres.

como é difícil achar malas que usam fulano@[200.234.123.012],
para fins práticos, a ER acima está completíssima.


> On 20/05/03 at 09:49, Mauricio B. C. Vieira wrote in 3K:
> >  recebo um e-mail num script. quero checar se o e-mail é válido.
> >  queria algo melhor do que : .+@.+


=====
--
ATENCAO: o www.verde666.org vai morrer, use www.aurelio.net
ATTENTION: www.verde666.org is no more, use www.aurelio.net

_______________________________________________________________________
Yahoo! Mail
O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3,
filtro contra spam.
http://br.mail.yahoo.com/

#1652 De: wilson <wilson@...>
Data: Qua, 21 de Mai de 2003 10:57 am
Assunto: .... Alguém de plantão !!
wilson@...
Enviar e-mail Enviar e-mail
 
Como posso incluir uma linha no final de um arquivo ??

Estou tentando por este caminho ?

sed -e '$a\wilson\' nomes.txt

#1653 De: Thobias Salazar Trevisan <thobias@...>
Data: Qua, 21 de Mai de 2003 3:55 pm
Assunto: Re: .... Alguém de plantão !!
servagem
Enviar e-mail Enviar e-mail
 
ae wilson,

On Wed, 21 May 2003, wilson wrote:

> Como posso incluir uma linha no final de um arquivo ??
>
> Estou tentando por este caminho ?
>
> sed -e '$a\wilson\' nomes.txt

quase.

$ cat lixo
linha 1
linha 2
linha 3

$ sed -e '$a\' -e 'teste' lixo
linha 1
linha 2
linha 3
teste

$ sed '$s/.*/&\
teste/' lixo
linha 1
linha 2
linha 3
teste

a mais elegante é a primeira solução.

falow

thobias
-------
echo 9446046325380026818553633794429812592304650P | dc
-------
http://www.lcp.coppe.ufrj.br/~thobias

____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------

mensagens 1624 - 1653 de 5040   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
mensagens 1624 - 1653 de 5040   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