产生5分钟的间隔

时间:2012-09-21 13:00:44

标签: shell date seq

我需要编写一个shell脚本,它将创建一个5分钟间隔时间的列表。

00-00
00-05
00-10
00-15
...
...
23-50
23-55

以下是我开始使用的命令。

# date
Fri Sep 21 18:14:35 IST 2012

# date '+%H-%M'
18-14

# date '+%H-%M' --date='5 minute ago'
18-18

如何编写脚本来生成列表? 如果它太复杂,我会手动完成它,因为它是一次性任务。


更新

以下脚本正在运行。但它会生成单个数字,如7-5实际应该是07-05

#!/bin/sh
for hour in `seq 0 24`
do
for minute in `seq 0 5 59`
do
echo $hour-$minute
done
done

3 个答案:

答案 0 :(得分:2)

简单的bash解决方案(版本4或更高版本):

printf "%s\n" {00..23}-{00..55..5}

答案 1 :(得分:1)

如果您需要在指定日期开始,可以使用:

ITERATIONS=100 # adjust here
D=$(date +%s)
for ((i=0; i<$ITERATIONS; i++))
do 
  date '+%H-%M' -d @$((D+5*60*i))
done

答案 2 :(得分:1)

以下shell脚本正在返回所需的数据

#!/bin/sh
for hour in `seq -w 0 24`
do
for minute in `seq -w 0 5 59`
do
echo $hour-$minute
done
done