Каков наилучший способ поиска файловой системы в Ubuntu с мгновенными результатами?

Как лучше всего искать мою файловую систему в Ubuntu и получать результаты практически мгновенно? Я использовал сома , трекер и обычный инструмент поиска, предоставляемый с Ubuntu.

Tracker ничего не находит, инструмент поиска ubuntu работает слишком медленно и сом большую часть времени ничего не находит. У меня есть много файлов PDF и DJVU, к которым я хочу получить доступ. В Windows есть программа под названием search all , которая возвращает результаты почти мгновенно. Я хочу подобный инструмент Linux.

Пожалуйста, предоставьте подробный ответ, насколько это возможно, поскольку я новичок в Linux. Если такого инструмента нет в Ubuntu, какова вероятность, что я найду такой инструмент в другом дистрибутиве Linux, например, Mandriva, Redhat?

7
задан 29 November 2013 в 23:49

7 ответов

enter image description here Вы также можете использовать gnome-search-tool. Вы можете получить его по sudo apt-get install gnome-search-tool

0
ответ дан 29 November 2013 в 23:49

Recoll может сделать это для Вас. Это показывает полнотекстовое индексирование почти для каждого типа документа, который можно вообразить и обзор результата отсортированный по номерам страниц для документов в формате PDF.

enter image description here

enter image description here

Можно установить его через центр программного обеспечения (поиск Recoll) или получить новую новейшую версию через PPA Recoll (включая линзу/объем Единицы). Сначала добавьте официальный репозиторий 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 и используют unity-scope-recoll вместо этого:

sudo apt-get install unity-scope-recoll

Если это - первый раз, когда Вы устанавливаете от PPA, удостоверьтесь, что Вы читаете их сначала:

Что такое PPAs и как я использую их?

Действительно ли PPA безопасно добавить к моей системе и каковы некоторые "красные флаги", чтобы не упустить?

Необходимо будет выполнить Recoll, по крайней мере, однажды для создания поискового индекса перед способностью использовать линзу/объем Recoll.

Более обширная документация относительно того, как использовать Recoll, может быть найдена здесь.

10
ответ дан 29 November 2013 в 23:49

Для поиска только по именам файлов - игнорируя содержимое -
вы можете использовать инструмент 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)
0
ответ дан 29 November 2013 в 23:49

Следующий код Python очень быстро вернет результаты поиска. Просто измените второй параметр в fnmatch.fnmatch(file,'*.txt) на то, что вы ищете. Это невероятно быстро.

import fnmatch
import os

for file in os.listdir('.'):
    if fnmatch.fnmatch(file, '*.txt'):
        print file
0
ответ дан 29 November 2013 в 23:49

Для опции командной строки «серебряный искатель» , на мой взгляд, просто лучший. Гораздо быстрее, чем find и awk, и имеет более простое использование:

ag <path>

Установка из Ubuntu 14.04

sudo apt-get install silversearcher-ag

Взгляните на некоторые сравнения скорости с find и awk

https://github.com/ggreer/the_silver_searcher

0
ответ дан 29 November 2013 в 23:49

Другим вариантом является Synapse.
Интегрирует результаты Zeitgeist.
В моей системе много документов, и я был удивлен, как быстро Synapse смог найти нужные мне файлы.

sudo apt-get install synapse

приветствия

0
ответ дан 29 November 2013 в 23:49

Я также много занимаюсь поиском в очень больших библиотеках 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

Установка: Загрузите пакет здесь .

Положительный:

  • Почти так же быстро, как Синапс
  • Результаты очень всеобъемлющие.

Отрицательно:

  • Также ищет только имена файлов.
  • 1113 Вероятно, самый плохой из этих трех.

3) DocFetcher

Установка: если вы не найдете его где-нибудь в хранилище, вы застряли в переносной версии. Загрузите его здесь и следуйте инструкциям.

Положительно:

  • Поиск в тексте ваших PDF-файлов
  • Всеобъемлющие, но релевантные результаты в логическом порядке (я обычно нахожу результаты в Recoll или Tracker, чтобы будьте абсолютно чокнутыми в сравнении)
  • Полная панель предварительного просмотра документа, чтобы вы могли увидеть больше файла, прежде чем открывать его (не только несколько строк)
  • Достаточно быстро

Отрицательно:

  • Трудно установить и работать в Ubuntu (например, без Java Runtime)
  • Гораздо медленнее, чем приложения, которые ищут только имена файлов

Надеюсь, Дэш наверстает упущенное и сделает все это устаревшим, но в то же время эти три в основном то, что я использую.

Другие варианты, возможно, стоит попробовать:

  • Gnome-Do может быть достойной альтернативой Synapse, но в последний раз я проверял, что он может индексировать только 5000 файлов, и этого мне недостаточно
  • pdfgrep иногда полезен, но медленен и не имеет GUI, о котором я знаю
0
ответ дан 29 November 2013 в 23:49

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

Похожие вопросы: