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

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

Re: Converter para ma iúscula os dados de uma unica coluna


From: juliocdrm_2004
Subject: Re: Converter para ma iúscula os dados de uma unica coluna
Date: Thu, 15 Sep 2005 19:06:02 -0000
User-agent: eGroups-EW/0.82

Segue dica recebida na lista sed-br, para solução deste problema, 
encaminhada por Fabiano Caixeta Duarte:

awk '{$2=toupper ($2); print} ' arquivo_de_log

[]'s

--- Em address@hidden, "Julio Moreira" 
<julio.moreira@p...> escreveu
> 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 
<alexandre.abreu@g...> escreveu:
> 
> > De: Alexandre de Abreu <alexandre.abreu@g...>
> > Data: Wed, 14 Sep 2005 16:59:53 -0300
> > Para: Julio Moreira <julio.moreira@p...>
> > 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 <julio.moreira@p...> 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 
<alexandre.abreu@g...> escreveu:
> > > 
> > > > De: Alexandre de Abreu <alexandre.abreu@g...>
> > > > 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 <fabricio@a...> 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]