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

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

Re: [shell-script] Converter para ma i�scula os dados de uma unica colu


From: Julio Moreira
Subject: Re: [shell-script] Converter para ma iúscula os dados de uma unica coluna
Date: Wed, 14 Sep 2005 17:34:36 -0300

Ok... Muito obrigado MESMO pelas dicas !!!
Vou usá-las no meu dia-a-dia.

Julio Moreira.

On Wed, 14 Sep 2005 16:59:53 -0300, Alexandre de Abreu <address@hidden> 
escreveu:

> De: Alexandre de Abreu <address@hidden>
> Data: Wed, 14 Sep 2005 16:59:53 -0300
> Para: Julio Moreira <address@hidden>
> Assunto: Re: [shell-script] Converter para ma  iúscula os dados de uma unica 
> coluna
> 
> Julio,
> 
> Seguem os comentários...
> 
> On 14/09/05, Julio Moreira <address@hidden> wrote:
> > Alexandre:
> > 
> > Fiz uma pequena modificacao no seu script e funcionou 100%. Muito obrigado 
> > pela sua ajuda e pelas explicacoes.
> > Veja o script modificado:
> > 
> > sed  -e 's|\([_[:upper:]]\{1,\}\) \([[:alnum:]]\{1,\}\) \(.*\)|\1 \U\2 
> > \E\3|' texto
> > 
> > No último grupo, troquei o \(www.*\) por \(.*\).
> > 
> > Se nao for abusar muito, você poderia me explicar por que a sintaxe abaixo 
> > não funcionou ?
> > 
> > sed -e's|\(.*\) \(.*\) \(.*$\)|\1 \U\2 \E\3|' texto
> 
> O primeiro grupo entre parênteses engloba mais do que o que vc quer
> por causa do ".*" que significa qualquer coisa nenhuma ou mais vezes,
> verifica-se isso quando retiramos o "\1".
> 
> Ao utilizar regex atente pra isso, tente especificar somente o
> necessário não importa se a regex ficar maior. Por isso utilizei o
> "[_[:upper:]]{1,}" que significa o caracter underline/underscore "_"
> e/ou caracteres maiúsculos "[:upper:]" uma ou mais vezes.
> 
> No seu exemplo, vc pode simplesmente trocar o ".*" por "\S" que
> signfica "non-space chars", mas, mesmo assim continua sendo uma
> implementação "perigosa". :)
> 
> []s
> 
> > On Wed, 14 Sep 2005 15:33:56 -0300, Alexandre de Abreu <address@hidden> 
> > escreveu:
> > 
> > > De: Alexandre de Abreu <address@hidden>
> > > Data: Wed, 14 Sep 2005 15:33:56 -0300
> > > Para: address@hidden
> > > Assunto: Re: [shell-script] Converter para ma iúscula os dados de uma 
> > > unica coluna
> > >
> > > Olá Julio,
> > >
> > > Segue o comando utilizando sed:
> > >
> > > sed  -i 's|\([_[:upper:]]\{1,\}\) \([[:alnum:]]\{1,\}\) \(www.*\)|\1
> > > \U\2 \E\3|' texto
> > >
> > > Explicando:
> > >
> > > - A regex faz o match das linhas do arquivo 'texto'
> > > - Existem 3 'grupos' separados por parênteses que na substituição são
> > > referenciados como \1 \2 e \3
> > > - \{1,\} significa uma ou mais ocorrências
> > > - \U ativa a formatação maiúscula o \E é o 'end'
> > > - O parâmetro "-i" do sed altera diretamente no arquivo
> > >
> > > Espero ter ajudado.
> > >
> > > []s
> > >
> > > Alexandre de Abreu
> > >
> > > On 14/09/05, Fabricio Lopes de Souza <address@hidden> wrote:
> > > >  [fabricio@localhost ~]$ cat texto
> > > >  USER_SITE_RCODE cultura01 www.msn2go.com:8888 200 28
> > > >  USER_SITE_RCODE Jose www.msn2go.com:8888 204 15
> > > >  USER_SITE_RCODE Joaquim www.orlandofacioli.com.br 200 2
> > > >  USER_SITE_RCODE Antonio www.passportimages.com 200 1
> > > >  USER_SITE_RCODE Joao www.passportimages.com 304 3
> > > >  [fabricio@localhost ~]$ cat texto | awk '{print $1, toupper($2) , $3 
> > > > ,$4
> > > >  , $5}'
> > > >  USER_SITE_RCODE CULTURA01 www.msn2go.com:8888 200 28
> > > >  USER_SITE_RCODE JOSE www.msn2go.com:8888 204 15
> > > >  USER_SITE_RCODE JOAQUIM www.orlandofacioli.com.br 200 2
> > > >  USER_SITE_RCODE ANTONIO www.passportimages.com 200 1
> > > >  USER_SITE_RCODE JOAO www.passportimages.com 304 3
> > > >
> > > >  awk eh lindu :)
> > > >  nao sbia como fazer , dei um man awk e aprendi . =D
> > > >
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > >  Esta lista não admite a abordagem de outras liguagens de programação, 
> > > > como
> > > > perl, C etc. Quem insistir em não seguir esta regra será moderado sem 
> > > > prévio
> > > > aviso.
> > > > ---------------------------------------------------------------------
> > > >  Sair da lista: address@hidden
> > > > ---------------------------------------------------------------------
> > > >  Esta lista é moderada de acordo com o previsto em
> > > > http://www.listas-discussao.cjb.net
> > > > ---------------------------------------------------------------------
> > > >
> > > >
> > > >
> > > >
> > > >  Yahoo! Grupos, um serviço oferecido por:
> > > >
> > > > PUBLICIDADE
> > > >
> > > >  ________________________________
> > > >  Links do Yahoo! Grupos
> > > >
> > > >
> > > > Para visitar o site do seu grupo na web, acesse:
> > > > http://br.groups.yahoo.com/group/shell-script/
> > > >
> > > > Para sair deste grupo, envie um e-mail para:
> > > > address@hidden
> > > >
> > > > O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço 
> > > > do
> > > > Yahoo!.
> > >
> > >
> > > --
> > > Alexandre de Abreu, GCUX, RHCE
> > >
> > >
> > > ---------------------------------------------------------------------
> > > Esta lista não admite a abordagem de outras liguagens de programação, 
> > > como perl, C etc. Quem insistir em não seguir esta regra será moderado 
> > > sem prévio aviso.
> > > ---------------------------------------------------------------------
> > > Sair da lista: address@hidden
> > > ---------------------------------------------------------------------
> > > Esta lista é moderada de acordo com o previsto em 
> > > http://www.listas-discussao.cjb.net
> > > ---------------------------------------------------------------------
> > >
> > > Links do Yahoo! Grupos
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > 
> 
> 
> -- 
> Alexandre de Abreu, GCUX, RHCE
> 
> 
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>  
> Links do Yahoo! Grupos
> 
> 
> 
> 
>  
> 
> 
> 
> 
> 


reply via email to

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