Можно ли искать среди содержимого документов?
Мне было интересно, можно ли искать среди содержимого документов
- возможно различных типов: pdf, djvu, html, текстовый файл, скрипт программного кода, ...
- возможно, под разными каталогами под каждым документы смешаны вместе и, возможно, с другими недокументированными файлами?
Способен ли grep на такие вещи?
Спасибо и всего наилучшего!
3 ответа
Я использую Recoll. Это в репозиториях. Он также ищет pdf-метаданные. Вы можете выбрать, какие папки будут проиндексированы. Это очень быстро
Установка:
sudo apt-get install recoll
Да. Посмотрите на FindingFiles в документации сообщества для Ubuntu. Некоторое время назад я использовал Tracker, который способен индексировать большинство типов документов и благодаря обновлению индекса в фоновом режиме был удивительно быстрым при поиске.
Вы можете запустить команду для файлов, возвращаемых командой find.
Например, с помощью следующей команды я перечисляю все файлы, начиная с текущего каталога, и в каждом из них я запускаю команду grep для поиска строки 'getUri'
find . -name '*.*' -exec grep --color 'getURI' {} +
Это отлично работает на моем Ubuntu 12.04
Во всяком случае, я не думаю, что команда grep может искать в двоичных документах, таких как PDF.
Также использование вышеприведенной команды для большого дерева каталогов может быть очень обременительным с точки зрения вычислительного времени.
Другим аспектом, который следует учитывать, является то, что вы не можете искать строку в растровом PDF, в случае плохого сценария система управления документами, как может помочь LogicalDoc.