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