Как может я использовать расположиться только для каталога

traceroute может быть хорошее начало: это показывает Вам количество транзитных участков между Вашим собственным хостом и удаленным. Я не знаю о способе получить этот вид информации для пары пультов ДУ, кроме путем выполнения traceroute на одном из них.

9
04.06.2012, 21:41
5 ответов

Нет никакой опции использовать locate для нахождения выбранного типа файла (как каталог) но можно использовать синтаксис от вопроса - Dropnot$ найти строки, который заканчивается Dropnot. Для этого необходимо использовать -e опция расположиться для включения регулярного выражения POSIX.

В этом случае необходимо использовать:

locate -e Dropnot$

Важно, какой версии определяют местоположение, Вы имеете. В моей системе (хинду Linux) я имею Безопасный, Найдите:

$ locate --version
Secure Locate 3.1 - Released March 7, 2006

в котором существует нет --basename опция от utherответ. Эта возможность предоставляется GNU, Располагаются от findutils пакета:

$ ./locate --version
locate (GNU findutils) 4.4.2

Если Вы хотите использовать regexp с GNU, Располагаются, необходимо использовать -r переключатель вместо этого -e.

5
27.01.2020, 20:05
  • 1
    не -e опция only print entries for currently existing files? –  phuclv 27.12.2016, 12:22

Я имею mlocate установленный. Это - значение по умолчанию, распределенное Redhat, таким образом, это будет на Fedora, RHEL, CentOS. От man 1 locate

-b, --basename
       Match  only  the  base  name  against the specified patterns. This 
       is the opposite of --wholename.

Таким образом, если Вы работаете locate -b '\Dropknot', это только сообщит о файлах или каталогах с точно той строкой.

Because \ is a globbing character, this disables the implicit replacement 
of NAME by *NAME*.
9
27.01.2020, 20:05

С GNU располагаются (другой располагаться, реализации могли бы отличаться):

locate '*/Dropnot'
locate Dropnot | grep '/Dropnot$'

Когда нет никакого подстановочного знака в аргументе, locate ищет путь, имеющий указанный критерий поиска как подстрока. Когда аргументом является шаблон оболочки, содержащий один или несколько подстановочных символов, locate ищет полное соответствие. Если Вы не хотите производить /Dropnot в конце:

locate -0 '*/Dropnot' | xargs -0 -n1 dirname
locate Dropnot | sed -n 's:/Dropnot$::p'
4
27.01.2020, 20:05

Если вы используете RedHat, возможно, у вас установлен mlocate, а не Secure Locate. В этом случае нет опции -e, и вы должны использовать -r или --regexp для поиска с использованием основных регулярных выражений.

0
27.01.2020, 20:05

Slackware по умолчанию использует slocate, который имеет поиск по регулярному выражению с опцией r :

locate -r '/Dropnot$'

будет искать каталоги с именем Dropnot.

Это приведет к поиску, например,. только для пронумерованных-Dropnotкаталогов (Dropnot1, Dropnot2 и т. д. ) :

locate -r '/Dropnot[[:digit:]]\+$'
1
27.01.2020, 20:05

Теги

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