Документ взят из кэша поисковой машины. Адрес оригинального документа : http://uneex.lorien.cs.msu.su/static/AltDevBook/alt/ch01s03s01.html
Дата изменения: Mon Sep 26 12:35:53 2011
Дата индексирования: Tue Oct 2 13:35:39 2012
Кодировка: koi8-r
Документы для разработчиков ALT Linux

Массовые операции над файлами и каталогами (секции: %setup, %build, %install, %pre*, %post*, %trigger*)

При массовой обработке файлов и каталогов (glob expansion, find и др.) НЕОБХОДИМО отделять команду с параметрами от списка аргументов разделителем «--» везде, где это поддерживается.

Обоснование: Массовые операции над файлами, имена которых начинаются на «-», могут давать неверный результат в случае неиспользования «--».

При использовании утилиты find для изменения файлов и каталогов НЕОБХОДИМО использовать параметр -print0; соответствующие ему параметры других утилит:

grep: -r0

: -Z

: -z

Обоснование: Использование find при работе с каталогами, содержащими объекты с нестандартными именами (пробелами и др.), без использования -print0 приводит к неправильному результату.

Пример 1.1. Правильное использование find

find -type f -print0 |
    xargs -r0 %__grep -FZl 'mawk gawk' -- |
    xargs -r0 %__perl -pi -e 's/mawk gawk/gawk mawk/g' --