Как лучше всего искать мою файловую систему в Ubuntu и получать результаты практически мгновенно? Я использовал сома , трекер и обычный инструмент поиска, предоставляемый с Ubuntu.
Tracker ничего не находит, инструмент поиска ubuntu работает слишком медленно и сом большую часть времени ничего не находит. У меня есть много файлов PDF и DJVU, к которым я хочу получить доступ. В Windows есть программа под названием search all , которая возвращает результаты почти мгновенно. Я хочу подобный инструмент Linux.
Пожалуйста, предоставьте подробный ответ, насколько это возможно, поскольку я новичок в Linux. Если такого инструмента нет в Ubuntu, какова вероятность, что я найду такой инструмент в другом дистрибутиве Linux, например, Mandriva, Redhat?
Следующий код Python очень быстро вернет результаты поиска. Просто измените второй параметр в fnmatch.fnmatch(file,'*.txt)
на то, что вы ищете. Это невероятно быстро.
import fnmatch
import os
for file in os.listdir('.'):
if fnmatch.fnmatch(file, '*.txt'):
print file
Для опции командной строки «серебряный искатель» , на мой взгляд, просто лучший. Гораздо быстрее, чем find
и awk
, и имеет более простое использование:
ag <path>
Установка из Ubuntu 14.04
sudo apt-get install silversearcher-ag
Взгляните на некоторые сравнения скорости с find
и awk
Для поиска только по именам файлов - игнорируя содержимое -
вы можете использовать инструмент locate
. Это очень быстро при поиске.
locate '*.pdf'
перечислит все файлы PDF. Смотрите страницу руководства для получения дополнительной информации.
$ locate --help
Usage: locate [OPTION]... [PATTERN]...
Search for entries in a mlocate database.
-b, --basename match only the base name of path names
-c, --count only print number of found entries
-d, --database DBPATH use DBPATH instead of default database (which is
/var/lib/mlocate/mlocate.db)
-e, --existing only print entries for currently existing files
-L, --follow follow trailing symbolic links when checking file
existence (default)
-h, --help print this help
-i, --ignore-case ignore case distinctions when matching patterns
-l, --limit, -n LIMIT limit output (or counting) to LIMIT entries
-m, --mmap ignored, for backward compatibility
-P, --nofollow, -H don't follow trailing symbolic links when checking file
existence
-0, --null separate entries with NUL on output
-S, --statistics don't search for entries, print statistics about each
used database
-q, --quiet report no error messages about reading databases
-r, --regexp REGEXP search for basic regexp REGEXP instead of patterns
--regex patterns are extended regexps
-s, --stdio ignored, for backward compatibility
-V, --version print version information
-w, --wholename match whole path name (default)
sudo updatedb
Также мощная функция на этом, то, что можно сохранить индекс на файле, тогда используют его с locate <filename> -d <DBPATH>
большая опция, если Вы хотите сохранить индексированными локально HDD' s, но не всегда соединяемый
– sbs
25.04.2020, 03:32
Recoll может сделать это для вас. Он включает полнотекстовое индексирование практически для всех типов документов, которые вы можете себе представить, и обзор результатов, отсортированный по номерам страниц для документов PDF.
Вы можете установить его через центр программного обеспечения (поиск Recoll ) или получить новый новейшая версия через Recoll PPA (включая объектив / прицел Unity). Сначала добавьте официальный репозиторий Recoll:
sudo add-apt-repository ppa:recoll-backports/recoll-1.15-on
sudo apt-get update
Если вы используете Ubuntu 13.04 и ниже, вам придется установить recoll-lens
:
sudo apt-get install recoll recoll-lens
Для Ubuntu 13.10 и более поздних версий [114 ] вместо:
sudo apt-get install unity-scope-recoll
Если вы впервые устанавливаете систему с PPA, сначала обязательно прочитайте их:
Что такое PPA и как их использовать ?
Безопасны ли PPA для добавления в мою систему и каковы некоторые «красные флажки»? Остерегаться?
Вам нужно будет выполнить Recoll хотя бы один раз, чтобы построить поисковый индекс, прежде чем вы сможете использовать объектив / прицел Recoll.
Более подробную документацию о том, как использовать Recoll, можно найти здесь здесь .
Вы также можете использовать gnome-search-tool. Вы можете получить его по
sudo apt-get install gnome-search-tool
Другим вариантом является Synapse.
Интегрирует результаты Zeitgeist.
В моей системе много документов, и я был удивлен, как быстро Synapse смог найти нужные мне файлы.
sudo apt-get install synapse i>
приветствия
Я также много занимаюсь поиском в очень больших библиотеках PDF. Для меня это разочарование № 1 в Linux, которое заставляет меня скучать по MS Windows. Я попробовал все это на данный момент, и решение, на котором я сейчас остановился, заключается в использовании следующих программ в комбинации.
К сожалению, в данный момент ни один из них не находится в репозиториях Ubuntu и может быть нестабильным. Поэтому, если Recoll (сейчас в репозитории по умолчанию для Ubuntu 14.04 я верю?) Или что-то еще работает для вас, лучше придерживаться этого.
1) Synapse
Установка: прочитайте этот пост для получения подробной информации, но в основном вы можете установить его, выполнив следующие команды в терминале.
sudo apt-add-repository ppa:synapse-core/testing
sudo apt-get update
sudo apt-get install synapse
Положительный
Негатив
2) Launchy
Установка: Загрузите пакет здесь .
Положительный:
Отрицательно:
3) DocFetcher
Установка: если вы не найдете его где-нибудь в хранилище, вы застряли в переносной версии. Загрузите его здесь и следуйте инструкциям.
Положительно:
Отрицательно:
Надеюсь, Дэш наверстает упущенное и сделает все это устаревшим, но в то же время эти три в основном то, что я использую.
Другие варианты, возможно, стоит попробовать: