URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 3847
[ Назад ]

Исходное сообщение
"find и exclude"

Отправлено denis , 19-Янв-05 15:00 
Как заставить find исключать определенные файлы из поиска.
Допустим есть такое: find . -type f -exec chmode 440 {} \;
но в структуре директорий не надо менять права для файлов *.log

Как ему find'у сказать, - но исключать файлы.


Содержание

Сообщения в этом обсуждении
"find и exclude"
Отправлено Z0termaNN , 19-Янв-05 15:37 
>Как заставить find исключать определенные файлы из поиска.
>Допустим есть такое: find . -type f -exec chmode 440 {} \;
>
>но в структуре директорий не надо менять права для файлов *.log
>
>Как ему find'у сказать, - но исключать файлы.


а что так не подойдет ?

find . -type f -print | grep -v '.*\.log' | xargs chmod 440

хотя у gnu find есть расширения типа -regex, которыми можно
добиться искомого, но более геморройно


"find и exclude"
Отправлено klalafuda , 19-Янв-05 16:04 
>Как заставить find исключать определенные файлы из поиска.
>Допустим есть такое: find . -type f -exec chmode 440 {} \;
>
>но в структуре директорий не надо менять права для файлов *.log
>
>Как ему find'у сказать, - но исключать файлы.

$ man find

$ cd /var/log
$ find  . -type f -name \*.log
./XFree86.0.log
$ find  . -type f ! -name \*.log
./aculog
./authlog
./lastlog
./lpd-errs
./maillog
./messages
[snip]

// wbr


"find и exclude"
Отправлено denis , 20-Янв-05 06:16 
>$ find  . -type f ! -name \*.log

Большое спасибо, вот именно куда вставить этот ! я и не понимал.
А man несколько раз читал. :)