如何使用 aws-cli 将文件从子目录直接复制到文件夹

Sam*_*ert 7 aws-cli

我有许多文件包含在/myfolder.

我想使用 aws cli 将它们移动到/newfolder.

例如:

/myfolder/2017_01_01/file1.txt
/myfolder/2017_01_02/file2.txt
...
Run Code Online (Sandbox Code Playgroud)

我想将文件复制到一个新文件夹中:

/newfolder/file1.txt
/newfolder/file2.txt
...
Run Code Online (Sandbox Code Playgroud)

当我使用如下cp命令时:

aws s3 cp s3://myfolder/ s3://newfolder/ --recursive --exclude '*' --include '*file*'
Run Code Online (Sandbox Code Playgroud)

正确的文件被复制,但问题是文件保留在新位置的子文件夹中:

/newfolder/2017_01_01/file1.txt
/newfolder/2017_01_02/file2.txt
...
Run Code Online (Sandbox Code Playgroud)

是否可以将文件“从”其子文件夹中复制出来,以便直接放入/newfolder

gre*_*pit 4

最简单的方法是使用混合解决方案,假设您有 Linux shell:(在执行以下步骤之前,请确保在本地计算机中创建空白文件夹并 cd 到该文件夹​​)

1.aws s3 cp s3://yourBucket/myfolder . --recursive  --include "*.txt"
2.find . -name '*txt' -exec mv {} .  \;
3.aws s3 cp ./ s3://yourBucket/newfolder --exclude "*" --include "*.txt" --recursive
Run Code Online (Sandbox Code Playgroud)