Команда unix для поиска содержимого из одного файла в файле bzip - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть file1.txt с 100 записями.Нужно искать содержимое файла file1.txt в файле file2.bz2, который является большим файлом bzip.bzgrep -f file1.txt file2.bz2 занимает много времени.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Вы можете сделать многое, но это действительно чрезмерный объем работы.

Файлы bzip2 состоят из кусков.Вы можете разделить файл на части, полнотекстовые индексы и сохранить индексы.Если у вас есть некоторое представление о ключевых словах, вы можете отфильтровать ваши индексы, в противном случае вы получите полный индекс хаоса из всего текста.Как правило, это примерно в 10-100 раз больше размера исходного несжатого документа.

Если есть только определенные места, где встречаются слова для индексации, или вы можете ограничить количество слов для индексации И Поиски гораздо чаще, чем документы, которые вы можете сделать этой работой.

Идея явно украдена отсюда: https://www.thanassis.space/buildWikipediaOffline.html

0 голосов
/ 07 февраля 2019

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

...