0

我需要编写一个 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
4

3 回答 3

2

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

printf "%s\n" {00..23}-{00..55..5}
于 2012-09-21T13:18:41.337 回答
1

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

ITERATIONS=100 # adjust here
D=$(date +%s)
for ((i=0; i<$ITERATIONS; i++))
do 
  date '+%H-%M' -d @$((D+5*60*i))
done
于 2012-09-21T13:18:41.977 回答
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
于 2012-09-21T13:49:21.853 回答