Eu tenho FILE_A, que possui mais de 300.000 linhas, e FILE_B, que possui mais de 30 milhões de linhas. Criei um script Bash que greps cada linha em FILE_A em FILE_B e grava o resultado do grep em um novo arquivo.
Todo esse processo leva mais de 5 horas.
Como posso melhorar o desempenho do meu script?
Estou usando grep -F -m 1
como o comando grep. FILE_A aparece assim:
123456789
123455321
e FILE_B é assim:
123456789,123456789,730025400149993,
123455321,123455321,730025400126097,
Então, com o Bash, tenho um while
loop que escolhe a próxima linha em FILE_A e a coloca em FILE_B. Quando o padrão é encontrado em FILE_B, eu o escrevo no arquivo result.txt.
while read -r line; do
grep -F -m1 $line 30MFile
done < 300KFile