如何对通配符文件夹的子文件夹执行 运行 命令?
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
.
假设我有这个结构:
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
.