find - исключение папки не работает

Автор sergey1212, 24 сентября 2023, 20:48:40

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

sergey1212

Как искать файлы в cli с исключением папки?
У меня команды типа:
find / -iname *davin* -not -path "/media/" 2>/dev/null
find / -path "/media" -prune -iname *davin*

По какой-то причине не работают

ps.
debian 11
Linux len-ovo 5.10.0-25-amd64 #1 SMP Debian 5.10.191-1 (2023-08-16) x86_64 GNU/Linux

dzhoser

find . -path ./misc -prune -o -name '*.txt' -print
./misc исключаемый каталог
'*.txt'искать файлы с расширением txt
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

sergey1212

Цитата: dzhoser от 24 сентября 2023, 21:02:26-print
А зачем эта команда?

Огромное спасибо! Вроде работает.

Также сработал поиск вот такой командой:
find / -not \( -path /media -prune \) -iname *davin* 2>/dev/nullДаже немного побыстрее отработал

dzhoser

-print напечатать полное имя файла в стандартный вывод, а затем новую строку.
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

sergey1212

И без -print почему-то печает все пути.  Только добавляется вывод каталога /media непонятно почему.
Вот примеры выводов команд.  Не понятная логика:

root@len-ovo:~# find / -path /media -prune -o -iname *davin* -print
find: '/run/user/1000/doc': Permission denied
/usr/src/linux-headers-5.10.0-25-common/arch/arm/mach-davinci
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/usb-davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/mmc-davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/davinci_asp.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/i2c-davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/keyscan-davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/davinci-cpufreq.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/spi-davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/clk-davinci-pll.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/mtd-davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/gpio-davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/mtd-davinci-aemif.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/davinci_emac.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/clk/davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/irqchip/irq-davinci-cp-intc.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/irqchip/irq-davinci-aintc.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/mfd/davinci_voicecodec.h
/usr/src/linux-headers-5.10.0-25-common/include/clocksource/timer-davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/media/davinci
/usr/lib64/libDaVinciPanelAPI.so
root@len-ovo:~# find / -path /media -prune -o -iname *davin*
find: '/run/user/1000/doc': Permission denied
/media
/usr/src/linux-headers-5.10.0-25-common/arch/arm/mach-davinci
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/usb-davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/mmc-davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/davinci_asp.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/i2c-davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/keyscan-davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/davinci-cpufreq.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/spi-davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/clk-davinci-pll.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/mtd-davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/gpio-davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/platform_data/mtd-davinci-aemif.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/davinci_emac.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/clk/davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/irqchip/irq-davinci-cp-intc.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/irqchip/irq-davinci-aintc.h
/usr/src/linux-headers-5.10.0-25-common/include/linux/mfd/davinci_voicecodec.h
/usr/src/linux-headers-5.10.0-25-common/include/clocksource/timer-davinci.h
/usr/src/linux-headers-5.10.0-25-common/include/media/davinci
/usr/lib64/libDaVinciPanelAPI.so

dzhoser

Потому что принт задает печать имени файла по заданному критерию.
Соответственно без принта печатается весь вывод, включая пути.
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

sergey1212

Цитата: dzhoser от 26 сентября 2023, 16:54:30Потому что принт задает печать имени файла по заданному критерию.
Соответственно без принта печатается весь вывод, включая пути.
Логика не очевидна.
Особенно наличие пути 
/media
без ключа
-print