[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Comparar dois arquivos gigantes
From: |
Leslie Watter |
Subject: |
Re: [shell-script] Comparar dois arquivos gigantes |
Date: |
Fri, 3 Jun 2011 11:33:25 -0300 |
Oi Allan,
Eu tentaria usar o comm que faz a comparação dos arquivos, tirado da manpage
do comm:
-----
COMM(1) User
Commands
COMM(1)
NAME
comm - compare two sorted files line by line
SYNOPSIS
comm [OPTION]... FILE1 FILE2
DESCRIPTION
Compare sorted files FILE1 and FILE2 line by line.
----
Tenta usar o comm ;-)
por exemplo:
leslie@mione:~$ man comm > /tmp/a
leslie@mione:~$ man comm > /tmp/b
leslie@mione:~$ echo 'fin' >> /tmp/b
leslie@mione:~$ comm -3 <(sort /tmp/a) <(sort /tmp/b)
fin
leslie@mione:~$
[]s
LEslie
2011/6/3 allan_hkrs <address@hidden>
>
>
> 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.
>
>
>
--
Leslie H. Watter
[As partes desta mensagem que não continham texto foram removidas]