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: Humberto Pereira
Subject: Re: [shell-script] Re: Trabalhando com arquivos grandes
Date: Wed, 26 Oct 2005 11:05:06 -0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050923 Debian/1.7.12-0ubuntu05.04

Voce quer simplesmente criar o arquivo?

        awk -F: '{ system("touch " $2 ".log"); }' arquivo

[]s
Humberto Pereira

Tiago Barcellos Peczenyj wrote:
> 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]
> 
> 
> 
> ---------------------------------------------------------------------
> 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]