【发布时间】:2018-11-07 05:22:08
【问题描述】:
我的文件存在于 s3 路径下,如下所示: s3://tttt/2018/11/01/02 -->(tttt=s3 bucket, 2018=year, 11=moth, 01=day, hour=02)
我一直有一个新文件插入到 s3 中,如下例所示:
s3://tttt/2018/10/01/01/ls.s3.4cede5e7d25c.2018-10-01T01.00.tag_lre.txt.gz
s3://tttt/2018/10/01/01/ls.s3.4cede5e7d25c.2018-10-01T01.00.tag_lre.txt.gz
s3://tttt/2018/10/01/02/ls.s3.4cede5e7d25c.2018-10-01T02.00.tag_lre.txt.gz
我想通过 Bash 脚本获取: 1. 最高年份 2. 最大月份 3. 最大天数 4. 最长小时
我构建的脚本看起来是这样的(但效果不好):
#!/bin/bash
result=`aws s3 ls "s3://tttt/2018/" | awk '{print $2}' |tail -n 1`
result1=`aws s3 ls "s3://tttt/2018/${result:0:2}/" | awk '{print $NF-1}' |tail -n 1`
result2=2018/${result:0:2}/${result1:0:2}/
有什么想法怎么写吗?
【问题讨论】:
-
Amazon S3 始终按字母顺序列出对象。鉴于您的文件名格式,答案不会总是在最后一行,所以只需从该行中提取元素?
标签: bash amazon-web-services amazon-s3