Как использовать, находят бесшумно?

Я хочу искать все происшествия <searchterm> на моей машине. Теперь, когда я выполняю поиск как это

find / <searchterm>

Я вижу все пути, которые пробегает поиск. Как я могу ограничить результаты своим searchterm?

Абстрактный пример

У меня есть папка, давайте назовем ее my-own-folder. Теперь, когда я хочу знать, существуют ли какие-либо другие папки с тем же именем и выполняют поиск

find / my-own-folder

вывод показывает несколько сотен строк как это

/var/www/my-own-folder/index.php
/var/www/my-own-folder/lib/1.php
/var/www/my-own-folder/templates/2.php
/var/www/my-own-folder/log/3.log

сопровождаемый другим тысячи строк (~380k строки), которые содержат /usr, /lib, /proc, /var и так далее, примеры:

/etc/gshadow
/etc/fonts
/dev/ram7
/media/user
/run/udev/watch
/bin/gzexe
/vmlinuz
/lost+found

И строки не содержат my-own-folder. Я высоко сомневаюсь, что они все подключены к той папке. Итак, почему они производятся?

Точный пример

Я хочу применить патч для openldap, но не знаю, где я могу найти папку для выполнения патча. Таким образом, когда я ищу

find / openldap
find / slapd

это, кажется, производит все местоположения, где поиск выполняется, и не только происшествия openldap или slapd.

Обновление

Мой отказ не должен был использовать -name в моем поиске как это

find / -name "<searchterm>"
0
задан 22 June 2015 в 10:11

4 ответа

Для ограничения суммы вывода, можно использовать или head или tail, чтобы читать или сначала или продлиться x количество условий. Например,

$ find . -iname "*test*" | head -n 10
find: `./.cache/dconf'./xterm-297/tektests
./xterm-297/tektests/imtesth.tek
./xterm-297/tektests/fotest.tek
./xterm-297/tektests/aitest.tek
./xterm-297/tektests/imtest.tek
./xterm-297/testxmc.c
./xterm-297/Tests
./xterm-297/vttests
./test.c
: Permission denied./file2.test

можно также использовать less для просмотра вывода удобно со страницей / вниз кнопки.

find / -type d -name "foldername" | less

можно также использовать ! -path для сообщения, находят для игнорирования некоторой определенной папки

find . ! -path /somedirectory/anotherdirectory -iname "searchterm"

из использования grep -v termyoudontwant. флаг-v позволяет игнорировать материал, что Вы не хотите видеть в выводе

find . -name "searchterm" | grep -v idontwantthatstuff '

, Находят, позволяет определять, какой тип делают Вы хотите искать. Если Вы хотите искать папки, тип является d. Для поиска всех папок в системе, названной test, выполните это:

find / -type d -name "test"

Вот конкретный пример для поиска точного каталога в моей системе:

$ sudo find / -type d -name "bin"                                              
/home/xieerqi/bin
/usr/lib/initramfs-tools/bin
/usr/lib/klibc/bin
/usr/lib/pm-utils/bin
/usr/lib/2013.com.canonical.certification:checkbox/bin
/usr/lib/i386-linux-gnu/qt4/bin
/usr/lib/ure/bin
/usr/lib/2013.com.canonical.certification:plainbox-resources/bin
/usr/lib/python3/dist-packages/plainbox/impl/providers/stubbox/bin
/usr/lib/guile-2.0/bin
/usr/share/qt4/bin
/usr/share/libreoffice/bin
/usr/src/linux-headers-3.16.0-30/tools/testing/selftests/rcutorture/bin
/usr/local/bin
/usr/bin
/bin

, Если я хочу проигнорировать эти /usr/ записи, я выполняю это:

$ sudo find /   -type d -name "bin" | grep -v '\/usr\/*'                       
/home/xieerqi/bin
/bin

Для игнорирования каталогов,/usr, / lib,/proc, / var, изменяют grep как это

grep -v '\/usr\/*\|\/lib\/*\|\/proc\/*\|\/var\/*'

0
ответ дан 4 October 2019 в 03:13

Можно использовать перенаправление :

find / <searchterm> 2>/dev/null

Это перенаправление все ошибки к пустое устройство/dev/null .

, например:

 # find / -name StewieGriffin\*
/root: Permission denied
/home/peterg: Permission denied
/home/stewie/StewieGriffin-resume.doc

был бы преобразован в

# find / -name StewieGriffin\* 2>/dev/null
/home/stewie/StewieGriffin-resume.doc

, возьмите больше взгляда на этот ссылка .

2
ответ дан 4 October 2019 в 03:13

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

find / <searchterm> | grep <searchterm>
1
ответ дан 4 October 2019 в 03:13

Не используйте blankspace между / и my-own-folder. Установите полный путь к папке как это:

# find /var/www/my-own-folder

Это только произведет содержание my-own-folder.

0
ответ дан 4 October 2019 в 03:13

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

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