У меня есть FILE_A, который имеет более 300 000 строк и FILE_B, который имеет более 30 миллионов строк. Я создал скрипт Bash, который обрабатывает каждую строку в FILE_A над FILE_B и записывает результат grep в новый файл.
Весь этот процесс занимает более 5 часов.
Как я могу улучшить производительность моего скрипта?
Я использую в grep -F -m 1
качестве команды grep. FILE_A выглядит так:
123456789
123455321
и FILE_B выглядит так:
123456789,123456789,730025400149993,
123455321,123455321,730025400126097,
Поэтому в Bash у меня есть while
цикл, который выбирает следующую строку в FILE_A и отображает ее в FILE_B. Когда шаблон найден в FILE_B, я записываю его в файл result.txt.
while read -r line; do
grep -F -m1 $line 30MFile
done < 300KFile