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

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

Re: [shell-script] comparar arquivos


From: Alain
Subject: Re: [shell-script] comparar arquivos
Date: Thu, 11 Aug 2005 11:39:55 -0300
User-agent: Mozilla Thunderbird 1.0 (X11/20041206)

Solução 1: faz um loop pegando uma linha por vez do arquivo menor e usa o grep para procurar no arquivo maior. Talvez fique mais rápido.

Solução 2: Assumindo que ambos arquivos etão ordenados, pega a primeira linha do menor, le o maior linha a linha até achar ou passar (se é ordenado existe conceito de maior), se achou ou não, pega a próxima linha do menor e continua com o maior desde onde parou. É um algoritmo complexo, mas como le o arquivo grande uma só vez, deve ficar muito mais rápido.

Na lista tem explicação de como ler um arquivo linha a linha...

Alain

Adriano Brand escreveu:
do meu ponto de vista ele fica buscando diversas ocorrências:
tem como eu força-lo a buscar uma unica ocorrencia de a em b?
usando o grep -nxf arquivoa arquivob > arquivoc
Em 11/08/05, Adriano Brand <address@hidden> escreveu:

Alain, a coisa vai bem como vc diz. eles são ordenados, mas mesmo assim não
vai, o grep cai em menos de um minuto sem retornar nada...

Em 11/08/05, Alain <address@hidden> escreveu:
Oi Adriano,

puchando a informação um byte por vez:

isso é ordenado? tem sempre esse jeitão? e a linha que você quer achar? Explique-se um pouco melhor...

Pense um pouco no problema, lembre que se achar uma maneira de ler o
arquivo uma vez só, vai ficar 200 vezes mais rápido :)

Alain

Adriano Brand escreveu:

as dez ultimas linhas do log de 140Mb são assim: ele tem 4 milhões de

linhas
.
10 11 12 13 14 15 16 17 18 20 21 22 23 24 25
10 11 12 13 14 15 16 17 19 20 21 22 23 24 25
10 11 12 13 14 15 16 18 19 20 21 22 23 24 25
10 11 12 13 14 15 17 18 19 20 21 22 23 24 25 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25
10 11 12 13 15 16 17 18 19 20 21 22 23 24 25
10 11 12 14 15 16 17 18 19 20 21 22 23 24 25
10 11 13 14 15 16 17 18 19 20 21 22 23 24 25
10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

obrigado.

Em 10/08/05, Alain <address@hidden> escreveu:


Oi Adriano,

Se o arquivo é muito grande, a primeira pergunta é se o arquivo está
ordenano. Por exemplo, um arqauivo de Log é ordenado per natureza.

Se o arquivo estiver ordenado, ou puder ser ordenado, dá para fazer

uma
coisa muito mais rápida porque só precisa ler uma vez já que o próximo
está para frente.

Por favor, informe um pouco mais sobre o conteúdo do arquivo, mande se
possível uma amostra real com 10 linhas...
Alain

Adriano Brand escreveu:


grep -xnf a b > c
é bem oque preciso (testei com arquivos menores), mas no caso em que
preciso o arquivo maior tem 140Mb de puro texto. e ao executar este comando ele fica um minuto rodando e cai sem

retorno

nenhum.
Será que é uma limitação do grep ou da minha maquina?
Tenho um PIII 600 com 256Mb Ram, com tudo Off board.


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

Links do Yahoo! Grupos










--
Adriano Brand
Tecnico em Eletronica

Você pode não ter uma pergunta, mas o Google tem a resposta.







reply via email to

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