如何更改组,排除目录

如何更改组,排除目录

我们正在使用 AWS S3 存储桶,当您尝试执行递归时chgrp,它会无限期地搅动 S3 存储桶(本质上)。是否可以chgrp在排除目录的同时执行?

答案1

您可以使用 GNUfind的功能不跟随目录路径进入另一个文件系统:

find /some/path -mount -exec chgrp groupname {} +

答案2

答案是使用 bash extglob,并在这里工作,以及许多其他接受形式文件指定的 Linux 函数/directory/*

extglob可以通过先打开,然后包含要排除的目录名称来贪婪地更改目录中的文件组,同时排除目录:

shopt -s extglob
chgrp /directory/!(exclude)

完成后,用-u标志关闭该选项。

shopt -u extglob

有关此内容的有用 Stack 帖子,请查看“在 unix/linux shell 中进行模式匹配时如何使用逆通配符或负通配符?

相关内容