我正在尝试编写一个bash脚本。
我在Amazon-s3上。我有一个bucket1,它包含bucket2,bucket3,bucket4。存储桶2有b1,b2,b3,b4,b5 - 其中每个包含使用文件名创建的tar文件。
当我执行s3cmd --recursive ls s3://bucket1/bucket2/ | awk '{print$1}'
时,我打印生成的所有tar文件的日期。
我希望计算机上的日期与该列表进行比较,然后打印已创建文件的最后1周。
s3上的日期格式:年/月/日
谢谢。
答案 0 :(得分:0)
您可以使用带有+%s
选项的gnu date获取秒数,然后轻松比较任何格式的日期,即
> (( ( $(date +%s) - $(date -d "2014/03/08" +%s) ) < (7*24*60*60) )) \
&& echo "Less than week ago" \
|| echo "More than week ago"
More than week ago
> (( ( $(date +%s) - $(date -d "2014/04/03" +%s) ) < (7*24*60*60) )) \
&& echo "Less than week ago" \
|| echo "More than week ago"
Less than week ago