Em um arquivo de 10 milhões de linhas, gerado com:
seq 10000000 |
tee a |
awk 'rand() < 0.05 {print int(1000000 * rand())}; 1' > b
todos:
diff a b | wc -l
comm -3 <(sort a) <(sort b) | wc -l
(sintaxe do ksh / bash / zsh)
cmp -l a b | wc -l
Demorou menos de 30 segundos em um PC de baixo nível de 3 anos (rodando Linux).
Poderia haver grandes variações com diff
dependendo do conteúdo, pois o algoritmo diff
que precisa detectar inserções, exclusões ou alterações será afetado pela forma como os dados são exibidos, mas não haveria tanta variação com os outros.
O que exatamente você tentou?