我想上一个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
...
我如何能做到自动好吗?
谢谢!
我想上一个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
...
我如何能做到自动好吗?
谢谢!
如果要打印特定格式的数据,date
命令可以做到这一点:
$ date "+%Y.%m.%d_%H:%M:%S_TAI"
2013.07.16_14:01:51_TAI
需要GNU date
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
}
}'
好的,谢谢你,它的工作原理! – user2375106
我不确定这是做到这一点的最佳方式。关于“cron作业”和使用'watch'的脚本怎么样? – Atropo
'我试图在shell脚本上处理日期 - 告诉我们你到目前为止所做的尝试。 – devnull
'睡眠45'可能会有所帮助。祝你好运。 – shellter