При массовой обработке файлов и каталогов (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' --