[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Comparar dois arquivos gigantes
From: |
Julio C. Neves |
Subject: |
Re: [shell-script] Comparar dois arquivos gigantes |
Date: |
Fri, 3 Jun 2011 11:38:13 -0300 |
Pergunta: como vc chegou à conclusão que o egrep demorará 18 dias?
Para acelerar tenho 2 propostas:
1 - grep -F -f arquivo87mil.txt arquivo2mil.txt
o egrep (ou grep -E) é o grep mais lento que existe o fgrep (ou grep -F como
usei) é o mais rápido e é o indicado, qdo não se usa expressões regulares na
pesquisa.
2 - cmd comm
O problema é que não sei de cor as opções deste cmd, mas tem opção para
tudo: simplesmente para comparar; para listar somente o que contém num que
não contém noutro; o que contém noutro que não contém num; o que contém num
e noutro, ...
Cordialmente,
Julio Neves
*Quer programar bem em Shell?*
*Use este endereço de e-mail, o Skype ou ☎ (21)8112-9988 ☎*
My profiles: [image: Twitter] <http://twitter.com/juliobash>
Contact me: [image: Skype] julioneves1
Em 3 de junho de 2011 11:26, allan_hkrs <address@hidden> escreveu:
>
>
> Pessoal, sei que o grupo até não envolve o assunto que vou tratar, mas
> gostaria de pedir ajuda porque sei que vocês aqui manjam muito.
>
> Me defrontei hoje com uma situação não muito comum. Preciso comparar no
> shell dois arquivos texto (até aí tudo bem, faço isso rotineiramente).
> A questão é que um arquivo possui 87059 linhas e tenho que procurar cada
> linha dentro um arquivo de 2200 linhas, ou seja, procurar comparar cada
> linha das 87 mil com cada linha das 2200.
>
> Estava tentando fazer isso da seguinte maneira:
>
> egrep -f arquivo87mil.txt arquivo2mil.txt
>
> Só que dessa maneira segundo meus cálculos o resultado irá demorar
> absuradamente para ser gerado (cerca de 18 dias). A questão é... existe
> alguma outra forma de se fazer isso que seja melhor (num tempo viável)?
>
> Pensei em usar o awk ou mesmo fazer um programa em C... mas antes de
> estourar os miolos vim perguntar aos mestres dos magos... kkkkk
>
> Grato.
> Allan.
>
>
>
[As partes desta mensagem que não continham texto foram removidas]