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

[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]



reply via email to

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