Как (Ограниченная память)> grep -F -f file_A file_B >> output.txt

file_A (~ 500 МБ, 1,6 М строк) состоит из всех поисковых терминов равной длины, 1 на строку, не отсортировано.

file_B состоит из всех строк одинаковой длины, по 1 на строку, не отсортировано

Мне удалось запустить «grep -F -f file_A file_B >> output.txt» с любым размером file_B без проблем на ящике с 52 ГБ оперативной памяти. Проблема в том, что теперь я ограничен 4 ГБ оперативной памяти и, следовательно, размер файла_А теперь слишком велик, чтобы он работал без исчерпания доступной памяти.

За исключением ручного измельчения файла_А в меньшие укусы, есть ли простой способ сценария для grep для первых 1000 строк файла_А, затем, когда это закончится автоматически grep для строк 1001-2000 и т. Д. пока я не проведу все файлы file_A?

One Solution collect form web for “Как (Ограниченная память)> grep -F -f file_A file_B >> output.txt”

Перебирайте фрагменты файла_А, отправляя их как stdin в ту же инструкцию grep; настройте 1000 в доступную память:

 nlines=$(wc -l < file_A) chunk=1000 for((i=1; i < nlines; i += chunk)) do sed -n $i,+$((chunk - 1))p file_A | grep -F -f - file_B done > output 
  • выбор конкретной строки в поле
  • Сценарий, который удаляет нежелательные символы из переменной
  • невозможно открыть файл в качестве первого аргумента
  • Как я могу безопасно создавать и получать доступ к временным файлам из сценариев оболочки?
  • сценарий оболочки для создания каталогов, подкаталогов и файлов по шаблону
  • Идентификация повторяющихся полей и печать как с awk
  • Как можно сортировать поле CPU команды ps?
  • Скрипт для копирования файлов из папки и добавления md5sum в новое имя файла
  • команда find не дает никакого вывода
  • Отображает и их относительное положение в сценарии оболочки
  • Создание списка меню и выполнение задачи
  • Linux и Unix - лучшая ОС в мире.