Ich habe FILE_A mit über 300.000 Zeilen und FILE_B mit über 30 Millionen Zeilen. Ich habe ein Bash- Skript erstellt, das jede Zeile in FILE_A in FILE_B erfasst und das Ergebnis des grep in eine neue Datei schreibt.
Dieser gesamte Vorgang dauert über 5 Stunden.
Wie kann ich die Leistung meines Skripts verbessern?
Ich benutze grep -F -m 1
als grep Befehl. FILE_A sieht folgendermaßen aus:
123456789
123455321
und FILE_B ist wie folgt:
123456789,123456789,730025400149993,
123455321,123455321,730025400126097,
Mit Bash habe ich also eine while
Schleife, die die nächste Zeile in FILE_A auswählt und in FILE_B übergreift. Wenn das Muster in FILE_B gefunden wird, schreibe ich es in die Datei result.txt.
while read -r line; do
grep -F -m1 $line 30MFile
done < 300KFile