[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
- RES: [shell-script] deletar ( parte 2), Julio Cezar Neves - DATAPREVRJ, 2004/11/16
- Re: RES: [shell-script] deletar ( parte 2), lferreir1, 2004/11/17
- Re: RES: [shell-script] deletar ( parte 2), lferreir1, 2004/11/17
- Re: RES: [shell-script] deletar ( parte 2),
lferreir1 <=
- Re: RES: [shell-script] deletar ( parte 2), Aurelio Marinho Jargas, 2004/11/17
- Re: RES: [shell-script] deletar ( parte 2), pinguimrmbr, 2004/11/17
- Re: RES: [shell-script] deletar ( parte 2), Aurelio Marinho Jargas, 2004/11/18
- RE: RES: [shell-script] deletar ( parte 2), MrBiTs, 2004/11/18
- Re: RES: [shell-script] deletar ( parte 2), lferreir1, 2004/11/18
- Re: RES: [shell-script] deletar ( parte 2), Miranda, 2004/11/18
- Re: RES: [shell-script] deletar ( parte 2), lferreir1, 2004/11/18
- Re: RES: [shell-script] deletar ( parte 2), Aurelio Marinho Jargas, 2004/11/18
- Re: RES: [shell-script] deletar ( parte 2), lferreir1, 2004/11/19
- Re: RES: [shell-script] deletar ( parte 2), Aurelio Marinho Jargas, 2004/11/23