0

我正在尝试在 shell 脚本上处理日期:我想获取需要包含此表单上的日期的命令的数据:

2010.06.18_00:00:00_TAI 

在我的脚本中,我想做一个循环,在一天内每 45 秒编写一次命令。所以我需要得到这样的字符串:

2010.06.18_00:00:45_TAI

2010.06.18_00:01:30_TAI

2010.06.18_00:02:15_TAI 

...

请问我怎样才能自动做到这一点?

谢谢 !

4

2 回答 2

0

如果要以特定格式打印数据,date命令可以这样做:

$ date "+%Y.%m.%d_%H:%M:%S_TAI"
2013.07.16_14:01:51_TAI
于 2013-07-16T10:03:16.003 回答
0

需要 GNUdate

time=$(date -d 2010-06-18 +%s)    # midnight June 18
datetime=$(date -d @$time +%Y.%m.%d_%T_TAI)
day=${datetime:8:2}
while [[ ${datetime:8:2} = $day ]]; do
    echo $datetime
    ((time+=45))
    datetime=$(date -d @$time +%Y.%m.%d_%T_TAI)
done

这是一个不同但相似的实现,看起来要快得多

awk 'BEGIN {
    t=mktime("2010 06 18 00 00 00")
    d=strftime("%d", t)
    while (d==strftime("%d", t)) {
        print strftime("%Y.%m.%d_%T_TAI", t)
        t+=45
    }
}'
于 2013-07-16T10:21:14.297 回答