[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
>
>
>
>
>
>
>
>
>
>
Re: [shell-script] Converter para maiúscula os dados de uma unica coluna, Rodrigo Monteiro, 2005/09/14