用于比较的bash脚本

时间:2014-04-04 20:53:42

标签: bash awk amazon-s3

我正在尝试编写一个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上的日期格式:年/月/日

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用带有+%s选项的gnu 获取秒数,然后轻松比较任何格式的日期,即

> (( ( $(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