The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"find: исключить некоторые каталоги из поиска"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"find: исключить некоторые каталоги из поиска"  
Сообщение от phpcoder email(??) on 06-Июл-07, 13:45 
Здравствуйте!

Мне требуется найти все файлы core. Но find / -name core ищет очень уж долго. Поэтому я решил это оптимизировать: не искать в некоторых каталогах (/dev, /sys, /proc, /service). Не получается сказать find'у, чтобы искал везде, начиная с корня, и исключая эти каталоги. При этом я не могу сказать ему, к примеру, искать только на ext3 ФС, потому что /service тоже на ext3 да и не гибко это получится.

Пробовал так (на CentOS 4.3):

find / -a -not /dev -a -not /sys -a -not /proc -a -not /service -wholename core
find: paths must precede expression

find \( / -a \! /dev -a \! /sys -a \! /proc -a \! /service \) -wholename core
find: paths must precede expression

Такое возможно?

Заранее спасибо за ответы.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "find: исключить некоторые каталоги из поиска"  
Сообщение от perece on 06-Июл-07, 15:12 
>Здравствуйте!
>
>Мне требуется найти все файлы core. Но find / -name core ищет
>очень уж долго. Поэтому я решил это оптимизировать: не искать в
>некоторых каталогах (/dev, /sys, /proc, /service). Не получается сказать find'у, чтобы
>искал везде, начиная с корня, и исключая эти каталоги. При этом
>я не могу сказать ему, к примеру, искать только на ext3
>ФС, потому что /service тоже на ext3 да и не гибко
>это получится.
>
>Пробовал так (на CentOS 4.3):
>
>find / -a -not /dev -a -not /sys -a -not /proc -a
>-not /service -wholename core
>find: paths must precede expression
>
>find \( / -a \! /dev -a \! /sys -a \! /proc
>-a \! /service \) -wholename core
>find: paths must precede expression
>
>Такое возможно?
>
>Заранее спасибо за ответы.
если "find -mount" не устраивает, то только извращениями типа
for i in `ls -1A /`
do find $i -wholename core
done

ибо путь в синопсисе файнда _один_, и он не является частью expression (а всякие -a используются именно для частей выражения)

\^P^/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "find: исключить некоторые каталоги из поиска"  
Сообщение от vic (??) on 06-Июл-07, 15:40 
есть другой путь:
# echo "/tmp" > /proc/sys/kernel/core_pattern
и core файлы будут создаваться в каталоге /tmp
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "find: исключить некоторые каталоги из поиска"  
Сообщение от jd (??) on 07-Июл-07, 05:01 
У меня работает так:

find / \( -path /dev -o -path /sys -o -path /proc -o -path /service \) -prune -o -name core -print

GNU find version 4.1

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "find: исключить некоторые каталоги из поиска"  
Сообщение от phpcoder email(??) on 09-Июл-07, 08:37 
>У меня работает так:
>
>find / \( -path /dev -o -path /sys -o -path /proc -o
>-path /service \) -prune -o -name core -print

Спасибо! Кажется это как раз то что надо!


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру