Назад | Перейти на главную страницу

Локальный полнотекстовый индекс для дерева каталогов, более быстрая альтернатива grep -R

У меня большое дерево каталогов исходных файлов. Я хочу обыскать все эти файлы. Мой первый инстинкт - использовать grep -R или ack, но в любом случае они просто последовательно читают все файлы.

Есть ли какая-нибудь легкая программа, которую я могу установить, которая будет сканировать все файлы один раз, создавать и индексировать, а затем в любой более поздний срок я могу искать определенные слова? Это должно быть быстрее, чем просто выполнять множество grepс. Файлы, которые я хочу найти, не изменятся, поэтому мне не нужно что-то, что будет индексировать файлы автоматически.

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

Бонусные баллы, если программное обеспечение находится в обычных репозиториях ubuntu.

В идеале мне нужно что-то настолько простое в использовании, как это:

sudo aptitude install supersearch
cd /path/to/where/I/wanna/search
supersearch --make-index 
supersearch "foo bar"

Я считаю Трекер установлен по умолчанию в Ubuntu. Делать man trackerd и man tracker-search для получения дополнительной информации.

Из trackerd страница руководства:

По умолчанию trackerd индексирует все файлы в домашнем каталоге пользователя.
(за исключением скрытых файлов). Это может быть отменено специальными
указание одного или нескольких каталогов для индексации вместо этого в конфигурации
файл ($ HOME / .config / tracker / tracker.cfg) и / или используя
--include-dir параметр, чтобы указать другие каталоги для индексации.

Похоже, ты хочешь Бигль. Его основная цель - всесторонний поиск на рабочем столе, но вы можете указать ему просто посмотреть на исходное дерево, которое вы хотите проиндексировать.