Массовые операции над файлами и каталогами (секции: %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' --