AWS S3 cli以递归方式在同一目录中的文件夹之间移动文件?

时间:2017-02-08 14:59:41

标签: amazon-web-services amazon-s3 command-line-interface

我想递归移动所有匹配" EU_GR"的文件名。到EU /文件夹

运行查询之前的文件夹结构:

In /test/customers/
    EU_GR...csv
    EU_IT...csv
    old/
        |
        |
         ->     EU_GR...csv
                EU_GI...csv
    EU/ -> Folder I want to move files to (from old/ as well)

命令我跑了

aws s3 mv s3://test/customers/ s3://test/customers/EU/ --recursive --exclude "*" --include "*EU_GR*"

这就是它产生的,它将所有这些文件移到这里,但它一直在递归地进行,它不会结束。在我停止之前,它创建了文件夹EU /多次(4次)。

EU/EU/EU/EU/
          |
          |
           -> EU_GR...csv
              EU_GR...csv
              EU_GR...csv
              EU_GR...csv
              EU_GR...csv

有人可以向我解释发生了什么事吗?我只想将匹配的文件移到一个文件夹中。我猜测我在递归的某个地方搞砸了,它一直在查看每个文件夹(包括EU /),因此总是与 EU_GR 匹配?

1 个答案:

答案 0 :(得分:7)

该命令以递归方式移动移动到s3://test/customers/EU/的内容。

尝试,

aws s3 mv s3://test/customers/ s3://test/customers/EU/ --recursive --exclude "*" --include "*EU_GR*" --exclude "*/EU/*"