Прочитайте больший файл-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 может читать файл напрямую.

  • Как проверить, содержит ли строка подстроку в тире или золе?
  • Grep каталог и возвращаемый список с номерами строк
  • Как извлечь конкретный текст из файла журнала с помощью linux-терминала?
  • Найдите шаблон без повторных чисел в egrep
  • Grep отображает как согласованные, так и убранные строки
  • Почему grep иногда возвращает каталоги с двумя сокращениями?
  • Что означает «указать несколько шаблонов поиска» на `-e` в grep?
  • Эффективная фильтрация многих файлов по их содержимому с помощью awk / sed / grep
  • Как grep файл bz2, который находится далее в папке с zip-файлом
  • поиск записей каталога, содержащих по крайней мере один подкаталог из списка
  • как я recursivley grep (или иначе искать) шестнадцатеричные строки
  • Замените строку и замените ее частью
  • Linux и Unix - лучшая ОС в мире.