Содержание
При массовой обработке файлов и каталогов (glob expansion, find и др.) НЕОБХОДИМО отделять команду с параметрами от списка аргументов разделителем “--” везде, где это поддерживается.
Обоснование: Массовые операции над файлами, имена которых начинаются на “-”, могут давать неверный результат в случае неиспользования “--”.
При использовании утилиты find для изменения файлов и каталогов НЕОБХОДИМО использовать параметр -print0; соответствующие ему параметры других утилит:
xargs: -r0
grep: -Z
sort: -z
Обоснование: Использование find при работе с каталогами, содержащими объекты с нестандартными именами (пробелами и др.), без использования -print0 приводит к неправильному результату.
Пример 3.1. Правильное использование find
find -type f -print0 | xargs -r0 %__grep -FZl 'mawk gawk' -- | xargs -r0 %__perl -pi -e 's/mawk gawk/gawk mawk/g' --