如何对通配符文件夹的子文件夹执行 运行 命令?

How to run command on subfolder of wildcard folders?

假设我有这个结构:

Some Folder 1/...
Some Folder 2/...
Adobe After Effects 2020/Scripts/
Adobe After Effects 2020/foo/
Adobe After Effects 2020/bar/
Adobe After Effects 2021/Scripts/
Adobe After Effects 2021/etc/
Adobe After Effects 2022/Scripts/
Another Folder/...

我想更改所有 Scripts 子文件夹的权限。我试过了:

chmod -R o+rw 'Adobe After Effects */Scripts'

但这不起作用。有什么方法可以使用通配符完成此操作?

你尝试了吗?

find -type d -name "Adobe After Effects *" -print0 | xargs -0 -I{.} find {.} -type d -name "Scripts" -exec chmod -R o+rw {} \;

它使用嵌套 find,如 https://unix.stackexchange.com/a/18101/249463

中所述

通配符不会在引号内展开,但您应该可以使用它。 请注意 * 现在在引号之外。

chmod -R o+rw 'Adobe After Effects '*'/Scripts'

这将对具有 'Adobe After Effects' 开头和 Scripts 子目录的所有文件和目录进行指定的更改。我不确定 o+rw 是否是一个不错的权限选择,但您可以根据自己的需要进行修改。我更有可能使用 o+r,o-w.