AWS CLI 移动路径中带有通配符(星号)的文件
AWS CLI moving file with wildcard (asterisk) in path
我正在尝试使用 AWS 数据管道中的 activity 将文件从 s3 位置移动到另一个位置。
我使用的命令是:
(aws s3 mv s3://foobar/Tagger/out//*/lastImage.txt s3://foobar/Tagger/testInput/lastImage.txt)
但我收到以下错误:
A client error (404) occurred when calling the HeadObject operation: Key "Tagger/out//*/lastImage.txt" does not exist
但是,如果我用特定的目录名称替换“*”,它就会起作用。问题是我不会总是知道目录的名称,所以我希望我可以使用“*”作为通配符。
AWS S3 CLI 中的通配符仅在使用 --recursive
标志时有效。
所以这应该适合你:
aws s3 mv s3://foobar/Tagger/out/ s3://foobar/Tagger/testInput/ --recursive --exclude "*" --include "*/lastImage.txt"
不幸的是,这将在您的目标位置重新创建整个目录结构,我不能立即确定仅使用 AWS CLI 就可以解决这个问题。
我正在尝试使用 AWS 数据管道中的 activity 将文件从 s3 位置移动到另一个位置。
我使用的命令是:
(aws s3 mv s3://foobar/Tagger/out//*/lastImage.txt s3://foobar/Tagger/testInput/lastImage.txt)
但我收到以下错误:
A client error (404) occurred when calling the HeadObject operation: Key "Tagger/out//*/lastImage.txt" does not exist
但是,如果我用特定的目录名称替换“*”,它就会起作用。问题是我不会总是知道目录的名称,所以我希望我可以使用“*”作为通配符。
AWS S3 CLI 中的通配符仅在使用 --recursive
标志时有效。
所以这应该适合你:
aws s3 mv s3://foobar/Tagger/out/ s3://foobar/Tagger/testInput/ --recursive --exclude "*" --include "*/lastImage.txt"
不幸的是,这将在您的目标位置重新创建整个目录结构,我不能立即确定仅使用 AWS CLI 就可以解决这个问题。