Ho FILE_A con oltre 300.000 righe e FILE_B con oltre 30 milioni di righe. Ho creato uno script Bash che esegue il greps di ogni riga in FILE_A su in FILE_B e scrive il risultato di grep in un nuovo file.
L'intero processo richiede più di 5 ore.
Come posso migliorare le prestazioni del mio script?
Sto usando grep -F -m 1
come comando grep. FILE_A assomiglia a questo:
123456789
123455321
e FILE_B è simile a questo:
123456789,123456789,730025400149993,
123455321,123455321,730025400126097,
Quindi con Bash ho un ciclo while
che preleva la riga successiva in FILE_A e lo trascina in FILE_B. Quando il modello è trovato in FILE_B, lo scrivo nel file result.txt.
while read -r line; do
grep -F -m1 $line 30MFile
done < 300KFile