Есть ли способ индексировать файл или файловое дерево из консоли, чтобы поиск подстрок можно было выполнять быстрее, чем простой поиск?
Мне не обязательно нужна поддержка регулярных выражений, хотя нечувствительность к регистру была бы полезна.
Я ищу простую консольную утилиту, которая будет работать аналогично locate/slocate/mlocate
но вместо имен файлов будет индексировать содержимое файла с определенными типами MIME в настраиваемом месте.
Пока что единственное решение, которое я нашел быстрее, это fgrep
ограниченное ANSI, а не UTF-8 (из https://stackoverflow.com/a/13913220/191246) - хотя оно обеспечивает впечатляющее ускорение это все еще слишком медленно для больших файлов. Я хотел бы знать, есть ли какой-нибудь «дешевый» способ создания индекса и поиска по нему.
Я рассматриваю свист как вариант, но это потребует дополнительного кодирования.
Меня не интересуют приложения для индексирования на системном уровне, такие как spotlight на mac или их аналоги из linux, поскольку я ищу что-то гранулярное на уровне файлов или подпапок.