[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Problema com arquivo grande
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] Problema com arquivo grande |
Date: |
Thu, 13 Oct 2005 15:44:54 -0300 |
Experimente assim.
cat arquivo | while read i ; do ... done
mas acho que existem alternativas mais interessantes ao que tu estas
fazendo, mas agora não lembro de nenhuma.
Em 13/10/05, Marco Sinhoreli<address@hidden> escreveu:
> Olá a todos,
>
> Tenho um arquivo com, pra ser exato ;-), 6.352.886 linhas.
> Preciso listar as ocorrências considerando que as repetidas não irei
> armazenar novamente:
>
>
> #! /bin/bash
>
> cont=0
> for i in $(cut -c 13-16 ARQVAL)
> do
> if [ ! $(echo ${var[@]}| grep $i) ];
> then
> var[$cont]=$i
> let cont++
> fi
> done
> echo ${var[@]}
>
> Problema: no ínicio do laço, o i/o fica grande para a leitura do
> arquivo gigante (231M) e o processo não vai adiante.
>
> Gostaria de ver a possíbilidade de ler linha a linha sem necessidade
> de armazenamento prévio, é possível?
>
> []s
>
>
> --
> Marco Sinhoreli
>
>
> ---------------------------------------------------------------------
> 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
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
> Yahoo!.