Можно ли искать среди содержимого документов?

Мне было интересно, можно ли искать среди содержимого документов

  • возможно различных типов: 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.

Другие вопросы по тегам