Мы используем сегменты AWS S3, и когда вы пытаетесь выполнить рекурсивную chgrp
, он работает в ведре S3 (по сути) бесконечно. Можно ли выполнить chgrp
при исключении каталога?
Ответ - использование bash extglob
, и работает здесь, как и многие другие функции Linux, которые принимают обозначение файлов в /directory/*
форма.
Жадное изменение группы файлов в каталоге, исключая каталог, возможно, сначала повернув extglob
on, а затем включив имя каталога, которое нужно исключить как таковое:
shopt -s extglob
chgrp /directory/!(exclude)
И когда вы закончите, выключите опцию с помощью -u
флаг.
shopt -u extglob
Чтобы найти полезную публикацию в стеке, посмотрите "Как я могу использовать обратные или отрицательные подстановочные знаки при сопоставлении с образцом в оболочке unix / linux?"
Вы можете использовать GNU find
возможность не следовать по пути каталога в другую файловую систему:
find /some/path -mount -exec chgrp groupname {} +