[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
>
>
>
>
>
>
>
Re: [shell-script] Trabalhando com arquivos grandes, Luiz Henrique, 2005/10/26
Re: [shell-script] Trabalhando com arquivos grandes, Jose Silva, 2005/10/26