我们正在使用 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 中进行模式匹配时如何使用逆通配符或负通配符?“