On Tue, Feb 19, 2002 at 12:58:07AM +0300, Artem K. Jouravsky wrote: > Вот мучает меня уже несколько дней (не сильно, просто как комар) такое > желание: есть куча пользователей-разработчиков, которые обожают права 777 > на файлы в своей директории. Хочется сделать им сюрприз, ибо давно > предупреждены. Но! Есть файлы (или по крайней мере, папки), на которые > действительно нужны права на запись для all. Делаю такую конструкцию: > > $find /path/to -type f -perm -o=w -print0|xargs -0 chmod 644 {} ';' > > Хочется вставить посредине что-то вроде grep -v exceptions, > где то что grep получит из а exceptions - список > исключений. Но вот проблема - xargs -0 grep exceptions даст совсем не то > что мне нужно... > Можно сделать подлиннее, но не хочется. Есть способ это сделать коротко? find /path/to -type f -perm -o=w -print0 |xargs -r0 /run/my/script Соответственно, скрипт этот может делать нечто вроде for f in "$@"; do [ -f "$f" ] || continue p=$(quote_regexp "$f") grep -qs '^$p$' /file/with/exceptions && continue chmod 644 "$f" done quote_regexp - это функция, экранирующая метасимволы регулярных выражений. Ее реализация - простое, но полезное упражнение. В любом случае, абсолютно корректное решение этой задачи с помощью grep вряд ли возможно ввиду того, что в именах файлов могут присутствовать переводы строки. Regards, Dmitry +-------------------------------------------------------------------------+ Dmitry V. Levin mailto://ldv@alt-linux.org ALT Linux Team http://www.altlinux.com/ Fandra Project http://www.fandra.org/ +-------------------------------------------------------------------------+ UNIX is user friendly. It's just very selective about who its friends are.