【发布时间】:2020-12-16 16:23:12
【问题描述】:
我正在尝试将基于 Last Modified 的最新文件从 AWS S3 Folder_Test1 文件夹复制到同一存储桶中的 Folder_Test2 文件夹,并在复制命令中使用 exclude 和 include。
Folder_Test1:
Name Last Modified
T1_abc_june21.csv June 21,2020 9:27:03 AM GMT-0700
T1_abc_june21.csv June 21,2020 7:40:15 PM GMT-0700
T1_abc_june21.csv June 21,2020 9:20:32 PM GMT-0700
T1_abc_june25.csv June 25,2020 10:23:30 PM GMT-0700
T2_abc_june29.csv June 29,2020 6:15:12 AM GMT-0700
T2_abc_june29.csv June 29,2020 5:12:15 PM GMT-0700 (Fetch this object)
T1_abc_def_june21.csv June 21,2020 6:13:15 PM GMT-0700
T2_abc_def_june25.csv June 25,2020 5:33:10 AM GMT-0700
T3_abc_def_june25.csv June 25,2020 9:31:15 PM GMT-0700 (Fetch this object)
我必须过滤只有abc 最新文件的文件名并排除复制文件:
我试过了:
步骤 1 将 abc 文件从 Folder_Test1 复制到 Folder_Test2:
aws s3 cp s3://$bucket/Folder_Test1/ s3://$bucket/Folder_Test2/ --recursive --exclude "*abc_def*"
第2步它将从Folder_Test2中获取最新的abc文件:
aws s3 ls s3://$bucket/Folder_Test2/ --recursive | sort | tail -n 1 | awk '{print $4}'
如何将最新的文件从 Folder_Test2 复制到 Folder_Test3?或如何从 Folder_Test2 中删除除最新文件之外的所有其他文件?
【问题讨论】:
-
你不能直接从 API 中得到这个,你需要本地的排序/过滤逻辑。
标签: amazon-web-services amazon-s3 aws-cli