Поиск документа по ключевому слову с использованием линз 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
, Сначала не требуется индексирование, но поиск по всем вашим файлам занимает очень много времени, поэтому, если вам когда-либо придется делать это больше, чем пару раз для всего диска, вы должны использовать вместо этого поисковую утилиту индексирования (как в этом ответь).
Откройте окно терминала (Ctrl + Alt + T).
Перейдите в начало того, что вы хотите найти. Например, чтобы найти все в вашем домашнем каталоге, выполните
cd ~
, Чтобы найти все на вашем компьютере, сделайтеcd /
, Для поиска всего на внешнем диске под названием DocDrive сделайтеcd /media/DocDrive
, Если в имени каталога есть пробелы, заключите его в кавычки (например,cd '/media/Documents Drive'
,Запустить рекурсивный
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' .