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:08:18 -0200

não sei se vai funcionar... mas tenta igual :)
 awk -F: '{print $1 >> $2".log"}' file.log

 Em 26/10/05, Tiago Barcellos Peczenyj <address@hidden> escreveu:
>
> 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]