Tengo FILE_A que tiene más de 300,000 líneas y FILE_B que tiene más de 30 millones de líneas. Creé un script Bash que agrupa cada línea en FILE_A en FILE_B y escribe el resultado del grep en un nuevo archivo.
Todo este proceso lleva más de 5 horas.
¿Cómo puedo mejorar el rendimiento de mi script?
Estoy usando grep -F -m 1
como el comando grep. FILE_A tiene este aspecto:
123456789
123455321
y FILE_B es así:
123456789,123456789,730025400149993,
123455321,123455321,730025400126097,
Entonces, con Bash tengo un while
bucle que selecciona la siguiente línea en FILE_A y la ajusta en FILE_B. Cuando el patrón se encuentra en FILE_B, lo escribo en el archivo result.txt.
while read -r line; do
grep -F -m1 $line 30MFile
done < 300KFile