【发布时间】:2018-02-10 20:42:04
【问题描述】:
新手在这里编写 bash 脚本,如果您有时间,可以在这方面使用一些帮助。我的客户上传,每个人的文件名中都有一个日期戳,如下所示:
* 20170815041135
* 20170820041135
* 20170823071727
* 20170826040609
* 20170828050704
* 20170830153011
我需要计算每次上传之间的天数,然后找到列出的上传的平均间隔
我可以用这个命令找到两个日期之间的日期差
echo $(( ($(date --date="20170831" +'%s' ) - $(date --date="20170821" +'%s')) / (60*60*24) ))
给 10
要执行多个日期,我读过我需要一个数组,所以这是我在数组中的上传日期范围。
array=( `20170830153011`,`20170828050704`,`20170826040609`,`20170823071727`,`20170820041135`,`20170815041135` )
我读过我需要像这样循环计算
for i in "${array[@]}" do
?
如何将我的数组日期添加到计算中?
【问题讨论】:
-
"每个文件名中都有一个日期戳" -- 完整的文件名是什么?
-
XXX_1_20170830200211.bin
-
filename=XXX_1_20170830200211.bin; tmp=${filename%.bin}; datestamp=${tmp##*_}-- 见gnu.org/software/bash/manual/…
标签: arrays bash average datediff