我有一个大约有一千个文件夹的S3存储桶。在每个文件夹中,我想将文件复制到一个级别的新文件夹中。例如:
foreach (folder in myBucket){
cp folder/myFile.abc folder/myNewFolder/myFile.abc;
}
如何在S3中执行这种一次性逻辑?
答案 0 :(得分:0)
我最后只使用了bash和Amazon's own CLI:
BUCKET=myBucketName
for dir in $(aws s3 ls $BUCKET | awk '{print $2}'); do
aws s3 cp s3://$BUCKET/${dir}myFile.abc s3://$BUCKET/${dir}myNewFolder/myFile.abc
done
aws s3 ls
不包含任何有用的标志来修改其输出,因此我使用awk
来切断" PRE"随目录输出一起提供。
将上述内容放在myScript
中并使用bash myScript
执行。