Date

僅從 s3 儲存中複製特定日期的文件

  • May 6, 2021

我只想從包含 100 個文件的某個儲存桶中複製來自今天的 S3 文件。我嘗試了以下方法:$ aws s3 ls s3://cve-etherwan/ --recursive --region=us-west-2 | grep 2018-11-06 | awk '{system("aws s3 sync s3://cve-etherwan/$4 . --region=us-west-2") }'但效果不佳,我還從其他日期獲取文件。我該如何正確地做到這一點?

那是因為在aws s3您使用sync. 試試cp吧。您也可以將“grep”和“awk”合併在一起。

$ aws s3 ls s3://cve-etherwan/  --recursive | awk '/^2018-11-06/{system("aws s3 cp s3://cve-etherwan/$4 .") }'

這對我有用

  • 添加了時間限制,這裡我選擇 12/12/19 的 8:00 到 8:30
  • 略微修改了 awk 部分,刪除了錯字
  • 而不是從 awk 呼叫system n次,而是創建一個文本輸出並通過 bash 進行管道傳輸

是的,小心管道進入 bash :-)

aws s3 ls --recursive s3://cve-etherwan/ 
| awk '/^2019-12-12 08:[0-3]/{
    print "aws s3 cp s3://cve-etherwan/"$4" ."}'  
| bash

引用自:https://unix.stackexchange.com/questions/480279