Поиск документа по ключевому слову с использованием линз Unity

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

Я пытался добиться этого с помощью объективов Unity (Documents & folder), но кажется, что Ubuntu ищет только имена (файлов и папок), но не заглядывает внутрь документов.

Посоветуйте, пожалуйста, могу ли я достичь своей цели с помощью Ubuntu или нет.

2 ответа

Решение

Я рекомендую установить и использовать объектив Recoll:

Recoll - это инструмент для полнотекстового поиска, который индексирует содержимое многих форматов файлов, включая OpenOffice, MS Office, PostScript, MP3 и другие аудиофайлы, JPEG и другие. Помимо регулярного поиска, Recoll также позволяет выполнять некоторые расширенные операции, такие как поиск автора, размера файла, формата файла, а также таких операторов, как "И" или "ИЛИ".

Unity Recoll Lens позволяет вам использовать Recoll от Dash, без необходимости открывать какой-либо дополнительный графический интерфейс. Объектив поставляется с несколькими фильтрами, такими как "Текст", "Электронная таблица", "Презентация", "Мультимедиа" или "Сообщение", но для более сложных поисков вам придется вручную ввести поисковый запрос Recoll. Примеры: автор:"john doe" metallica ИЛИ megadeth /2007 (все документы от 2007 года или старше) dir:/path/to/dir (фильтрует содержимое из каталога / path / to / dir).

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

  1. Откройте окно терминала (Ctrl + Alt + T).

  2. Перейдите в начало того, что вы хотите найти. Например, чтобы найти все в вашем домашнем каталоге, выполните cd ~, Чтобы найти все на вашем компьютере, сделайте cd /, Для поиска всего на внешнем диске под названием DocDrive сделайте cd /media/DocDrive, Если в имени каталога есть пробелы, заключите его в кавычки (например, cd '/media/Documents Drive',

  3. Запустить рекурсивный grep следующее:

    grep -Rs 'word or phrase you are looking for' .

В качестве альтернативы, вы можете пропустить шаг 2 и вместо cd В папке, в которую вы хотите заглянуть, замените . в шаге 3 с именем папки, которую вы хотите посмотреть внутрь.

Если вы хотите выполнить поиск по всем файлам, включая те, к которым у вас нет доступа, вы можете запустить grep как root с участием sudo:

sudo grep -Rs 'word or phrase you are looking for' .
Другие вопросы по тегам