У мене є 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