Прочитайте больший файл-A и найдите связанные строки во втором файле и создайте вывод

Я запускаю цикл for для двух больших файлов (от 1,6 до 47 миллионов записей), и каждая строка grep занимает много времени. было интересно, есть ли еще более быстрое решение, которое я могу использовать здесь. В принципе, мне нужно прочитать FILE-A для каждой строки и grep его против FILE-B.csv и создать результирующий вывод.

FILE-A: (1.6 million IDs) FILE-B.csv: (47 million IDs & Other Attributes) for UID in $(cat FILE-A); do cat FILE-B.csv | grep $i >> OUTPUT-FILE.csv done 

One Solution collect form web for “Прочитайте больший файл-A и найдите связанные строки во втором файле и создайте вывод”

 grep -F -f FILE-A FILE-B.csv 

-f указывает файл, из которого можно получить шаблоны. -F указывает шаблон как фиксированную строку, разделенную символами новой строки.

Что касается вашего оригинального кода, то конвейер cat в grep – бесполезная трата ресурсов. grep может читать файл напрямую.

  • Комбинированные переменные с переменными входами в одну строку
  • Номер Грепинга в файле
  • Как выбрать количество цифр в переменной в моих сценариях?
  • Как искать каждое вхождение в текстовом файле Linux?
  • Почему я получаю «недопустимый максимальный счет» из grep в псевдониме?
  • Разделить команду и аргументы и вставить в переменную в сценарий bash
  • Отметить появление ключевого слова с другим цветом
  • Как захватить головную часть сайта с помощью команды curl и grep?
  • удобное форматирование вывода
  • Текст grep / parse
  • Извлеките все строки из файла, начиная с некоторой последовательности, а затем выведите его в другой файл
  • Linux и Unix - лучшая ОС в мире.