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

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

Re: RES: [shell-script] deletar ( parte 2)


From: lferreir1
Subject: Re: RES: [shell-script] deletar ( parte 2)
Date: Wed, 17 Nov 2004 16:23:04 -0000
User-agent: eGroups-EW/0.82

Júlio, te liguei, porém vc estava em reunião.
Seguinte, consegui resolver o meu problema, observando o seu exemplo.

Eu fiz assim, e deu certo, somente o primeiro registro não foi 
alterado, mas tudo bem, acertei "na mão"
# --------------------------
/usr/xpg4/bin/awk \
'{ sub (/ 0/, ", 0", $3);FS="   ";print $0;OFS="        " }' \
arq.original > arq.txt
# --------------------------

Obs.: O awk original não tinha a opção do sub

Grato pela ajuda,
Luiz

--- Em address@hidden, "lferreir1" <lferreir@e...> 
escreveu
> 
> Ah, Esquecí de um detalhe,
> O exemplo que vc me passou funcionou, colocando a vírgula no final, 
> porém o awk está colocando a vírgula após o terceiro campo, quando 
> deveria colocar no campo 3, cujo delimitador é o Tab.
> Ex.:
> awk '{ sub (/$/, ",", $3);print $0 }' arq
> 43389409 MARIA EUNICE, DA SILVA VEL ANDORINHAS 068309 .........
> 
> O resultado que eu quero:
> 43389409 MARIA EUNICE DA SILVA VEL ANDORINHAS, 068309 .........
> 
> No exemplo acima, o registro está separado por Tab.
> 43389409"Tab"MARIA EUNICE DA SILVA"Tab"VEL ANDORINHAS 068309"Tab"...
> 
> Expliquei ou compliquei?
> Luiz
> 
> --- Em address@hidden, "lferreir1" <lferreir@e...> 
> escreveu
> > 
> > Fala Júlio, blz?
> > 
> > O seu exemplo está OK, porém o meu problema não é colocar a 
vírgula 
> > no final do terceiro campo, e sim entre um alfa e numérico.
> > Ex.:
> > cut -f3 -d"  " teste.txt
> > ...
> > ...
> > RUA SEM SAIDA 000069
> > 
> > Quero colocar a vírgula assim:
> > RUA SEM SAIDA, 000069
> > 
> > Neste exemplo, 99,9% das variáveis, aonde quero inserir a 
vírgula, 
> as 
> > variáveis termina com alfa e começa com numérico
> > O script abaixo colocar exatamente onde eu quero, porém é 
muuuuuito 
> > lento.
> > 
> > Grato mais uma vêz!
> > Luiz
> > --- Em address@hidden, Julio Cezar Neves - 
> > DATAPREVRJ <julio.neves@p...> escreveu
> > > Aê Luiz,
> > > deixe o seu arquivo inteiro que o script abaixo coloca de forma 
> > muito rápida
> > > uma vírgula após o terceiro campo (é isso que vc queria, né?).
> > > 
> > > Prompt> cat arq
> > > a       b       c       d
> > > e       f       g       h
> > > i       j       k       l
> > > Prompt> awk '{ sub (/$/, ",", $3);
> > > print $0 }' arq
> > > a b c, d
> > > e f g, h
> > > i j k, l
> > > 
> > > [ ]s,
> > > Julio Cezar Neves
> > > - Programa de Software Livre -
> > > Tel:+55 21 2528-7070 / +55 21 8112-9988
> > > Fax: +55 21 2528-7646
> > > mailto:julio.neves@p...
> > > 
> > > 
> > > | -----Mensagem original-----
> > > | De: lferreir1 [mailto:lferreir@e...]
> > > | Enviada em: terça-feira, 16 de novembro de 2004 16:07
> > > | Para: address@hidden
> > > | Assunto: [shell-script] deletar ( parte 2)
> > > | 
> > > | 
> > > | 
> > > | 
> > > | Galera,
> > > | 
> > > | Fiz um script arcaico aqui, pois está demorando muuuuuuito.
> > > | Voltando ao arquivo com 7 milhões de registros, preciso fazer:
> > > | 1) quebrei o arquivo em 20 arquivos ( 400 mil regs. cada um )
> > > | 2) Preciso colocar uma vírgula na coluna 3 ( onde contém o 
> > endereço )
> > > |    Os outros campos ( 1,2,4,5,6,7,8 são inalterados )
> > > |    O meu script está lendo estes campos, e no campo 3 estou 
> > alterando 
> > > | com sed, a seguir:
> > > | # ----------
> > > | for REG in `cat eliane_aa`
> > > |   do
> > > | CA1=`echo $REG | cut -f1 -d"    "`
> > > | CA2=`echo $REG | cut -f2 -d"    "`
> > > | CA3=`echo $REG | cut -f3 -d"    "`
> > > | CA4=`echo $REG | cut -f4 -d"    "`
> > > | CA5=`echo $REG | cut -f5 -d"    "`
> > > | CA6=`echo $REG | cut -f6 -d"    "`
> > > | CA7=`echo $REG | cut -f7 -d"    "`
> > > | CA8=`echo $REG | cut -f8 -d"    "`
> > > | ALTER=`echo ${CA3} | sed 's/ 0/, 0/'`
> > > | echo "$CA1      $CA2    $ALTER  $CA4    $CA5    $CA6    $CA7 
> > $CA8"  
> > > | >> eliane_aa.txt
> > > | done
> > > | 
> > > | Só que está demorando .... até agora foi feito 442 registros.
> > > | 
> > > | HELP!!!!!
> > > | Luiz
> > > | 
> > > | 
> > > | 
> > > | 
> > > | 
> > > | 
> > > | --------------------------------------------------------------
--
> --
> > ---
> > > | 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]