Comparando dois arquivos grandes no Linux sem esgotar a memória

0

Estou usando o diff file1 file2 e a memória esgotada. A exceção file1 e o file 2 são de 10 GB cada.

eu tentei diff --speed-large-files file1 file2 , mas isso não funcionou

como posso comparar dois arquivos file1 e file2 e ver o que mudou no arquivo2 e gravar o conteúdo alterado no arquivo2 em outro arquivo

    
por Crazywolf 25.05.2018 / 22:00

2 respostas

0

O Gnu diff requer a capacidade de carregar os arquivos de entrada na RAM.

De acordo com esta questão , bdiff está disponível como parte da ferramenta heirloom toolchest e não requer a leitura dos arquivos na RAM. Você terá que compilar você mesmo, pois não parece estar disponível na maioria das distribuições Linux.

Outras questões sobre arquivos CSV e arquivos grandes tem soluções alternativas, mas nenhuma delas parece fazer o que você quer.

    
por 25.05.2018 / 22:33
0

Pode ser mais fácil dividir os arquivos em partes e compará-los em ordem. Por exemplo, divida cada arquivo de 10 GB para cerca de 100 arquivos numerados de cem megabytes. Execute o diff nos arquivos em ordem, comparando outputA01 com outputB01, depois outputA02 com outputB02 e son on. Questão relacionada: link

    
por 26.05.2018 / 00:15