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

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

Re: [shell-script] Re: Problema com arquivo muito grande


From: Julio C. Neves
Subject: Re: [shell-script] Re: Problema com arquivo muito grande
Date: Sat, 26 Apr 2014 19:00:45 -0300

split -l 10000 # Divide em arqs de 10000 linhas (xaa, xab, ... xnn)
cp $dir/broadcast /tmp/$$ # Cópia de segurança
for arq in x??
do
    grep -vf $arq  /tmp/$$ > /tmp/$$short # exclui os arquivos um a um
    mv /tmp/$$short /tmp/$$
done

Dependendo do conteúdo de seus arquivos, pode ser necessário usar antes do grep o seguinte:
sed -i 's/^/^/;s/$/$/' $arq
Para criar uma reg exp que marque o início e o fim de cada linha.

Essa não deve ser a melhor forma, mas deve funcionar. Esse 10000 que usei é arbitrário. Vc pode calibrá-lo melhor.


Abcs,
Julio
@juliobash
Próximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 26-30/05
Dou treinamento de shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.



Em 26 de abril de 2014 16:54, Thiago Tato <address@hidden> escreveu:
 

Obrigado pela resposta, mais já tinha tentado dessa maneira, não não deu certo o grep é finalizado por estouro de memória.

Em 26/04/2014 16:47, <address@hidden> escreveu:
 

Pelo que entendi, vc tem uma lista lista de bloqueio que identifica como "$dir/blacklist" e esses dados vc quer que não conste na "$dir/baselimpa.csv" que é baseada na $dir/broadcast.


Nesse caso não é melhor usar apenas um grep assim:

grep -v -f $dir/blacklist  $dir/broadcast | sort -u > $dir/baselimpa.csv

Acho que isso funciona, só não tenho certeza pela quantidade de registro se isso terá bom desempenho ou será rápido.

Abraços
Itamar



reply via email to

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