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

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

Re: [shell-script] Re: Trabalhando com arquivos grandes


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Re: Trabalhando com arquivos grandes
Date: Wed, 26 Oct 2005 11:01:25 -0200

esqueci as notações do awk de cabeça, depois eu converto
 experimenta este cara:
 cut -d\: -f 2 arquivo | uniq > estados # de repente é mais facil fazer isto
na mão...
 for i in $(cat estados)
LOG="${i}.log"
do echo "criando $LOG"
grep ":${i}:" arquivo | cut -d\: -f1 > $LOG # veja 1
echo "feito, $(wc -l $LOG) linhas adicionadas!"
done
exit 0

1) se vc usar awk, faria awk '/estado_que_vc_quer/{print $1}' mas esqueci
como dizer que o dois_pontos é o delimitador, no caso vc faria
awk '/'$i'/{print $1}' > $LOG
2) acho que echo -n no "criando $LOG" fica mais bonito :)
 Era isso
Em 26/10/05, rikekuda <address@hidden> escreveu:
>
> Como fazer com awk ?
> Preciso ler o arquivo grande e de acordo com o conteudo preciso
> gerar outros arquivos. Por exemplo :
> file.log
> ricardo:sp:sao paulo
> jose:rj:rio de janeiro
> pedro:rs:porto alegre
>
> Agora preciso pegar o valor da 2 coluna e gerar o arquivo sp.log,
> rj.log, etc...Como fazer isso no awk sem ter que ler o arquivo n
> vezes ?
>
>
>
>
> --- Em address@hidden, Tiago Barcellos Peczenyj
> <tiago.peczenyj@g...> escreveu
> > AWK não faz isso de forma mais otimizada, sem estourar a ram ?
> >
> > Em 26/10/05, Rodrigo Monteiro <mrodrigox@g...> escreveu:
> > >
> > > On 10/26/05, rikekuda <rikekuda@y...> wrote:
> > > > Fiz um shell script para ler um arquivo grande de +- 5Gb,
> porem nao
> > > > consigo executa-lo, pois ele começa a utilizar toda a memória
> RAM do
> > > > servidor de para por "No Space"
> > > >
> > > > Estou utilizando for i in `cat file.log` do.....
> > >
> > > Use o while
> > >
> > > while read LINHA ; do
> > > echo $LINHA
> > > #faz o que vc quiser aqui
> > > done < file.log
> > >
> > > Com isso creio que vc não irá estourar a ram/swap, porém deverá
> > > demorar um pouco para completar o laço do while.
> > >
> > > []s
> > >
> > >
> > > >
> > > > Alguma sugestao ?
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > ---------------------------------------------------------------
> ------
> > > > 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
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > >
> > > "Free as in Freedom, not free as in free beer"
> > > Rodrigo Monteiro
> > > mrodrigox@g...
> > >
> > >
> > > -----------------------------------------------------------------
> ----
> > > 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:*
> > > ------------------------------
> > > *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<shell-script-
> address@hidden?subject=Unsubscribe<http://address@hidden/?subject=Unsubscribe>
> >
> > > - O uso que você faz do Yahoo! Grupos está sujeito aos Termos
> do
> > > Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
> > >
> > >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>
> ---------------------------------------------------------------------
> 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:*
> ------------------------------
> *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<address@hidden?subject=Unsubscribe>
>    - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>    Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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