Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование в *nix (http://forum.oszone.net/forumdisplay.php?f=35)
-   -   проблема с 'find' (скрипт на shell) (http://forum.oszone.net/showthread.php?t=79645)

romez777 20-02-2007 09:40 552766

проблема с 'find' (скрипт на shell)
 
Приветствую.

Задача в том, чтобы выбрать из дерева линукс ядра все файлы с расширением *.[chsS] (т.е. исходники), кроме определенных каталогов (Documentation, scripts..), при этом есть ряд исключений которые нужно соблюсти: не добавляя каталог drivers/, добавить _только_ определенные файлы из drivers/net/

Получился следующий скрипт:

Код:

#!/bin/sh -x

LNX=/usr/src/linux-2.4.18-14
cd /
find $LNX \
  -path "$LNX/arch/*" ! -path "$LNX/arch/i386*" -prune -o \
  -path "$LNX/include/asm-*" ! -path "$LNX/include/asm-i386*" -prune -o  \
  -path "$LNX/tmp*" -prune -o \
  -path "$LNX/Documentation*" -prune -o \
  -path "$LNX/scripts*" -prune -o \
  -path "$LNX/drivers*" -prune -o \
  -name "*.[chxsS]" -print > $HOME/cscope.files

Не могу сообразить как добавить определенные файлы из drivers/net/..., не выполняя лишний 'find' ?

Перерыл весь 'man find', но решения не нашел.

Подскажите, в чем проблема. Благодарю.

gf100 20-02-2007 13:12 552877

Как вариант, обработай результат с помощью grep -v. Можно несколько раз - вешаешь конвейеры сколько нужно.


Время: 16:49.

Время: 16:49.
© OSzone.net 2001-