Прочитайте больший файл-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?
  • Подстрока grep между кавычками
  • Как я могу перечислить каждый файл в каталоге, кроме тех, у которых указаны указанные расширения?
  • Как фильтровать выходные данные wvdial / pppd
  • Показывать точное количество записей CRLF в файле
  • Как вы получаете fgrep, чтобы найти литерал «--help»?
  • grep - многострочный рисунок
  • Как искать рекурсивно в нескольких уровнях встроенных tar tgz-файлов?
  • Печать несуществующих файлов с входного канала
  • Найти все слова, начинающиеся с Q
  • Необходимо проанализировать таблицу двойного входа с двумя парами
  • Многострочный grep был связан с двумя тегами, отображать только последнее совпадение
  • Linux и Unix - лучшая ОС в мире.