dateで、朝6時から夜11時まで1時間毎の時刻テーブルを表示してみます。
~$ for i in `seq 6 23` > do date +%H:%M --date "0:0 $i hour" > done 06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00
では、30分毎のテーブルを得るにはどうすれば良いでしょうか。
~$ for i in `seq 6 23` > do for j in `seq 0 30 30` > do date +%H:%M --date "0:0 $i hour $j min" > done > done 06:00 06:30 07:00 07:30 08:00 08:30 09:00 09:30 10:00 10:30 11:00 11:30 12:00 12:30 13:00 13:30 14:00 14:30 15:00 15:30 16:00 16:30 17:00 17:30 18:00 18:30 19:00 19:30 20:00 20:30 21:00 21:30 22:00 22:30 23:00 23:30 ~$
23:30まで表示されてしまいました。
次はseqで30分単位、ネストなしで計算してみます。
~$ for i in `seq 0 30 1030` > do date +%H:%M --date "6:00 $i min" > done 06:00 06:30 07:00 07:30 08:00 08:30 09:00 09:30 10:00 10:30 11:00 11:30 12:00 12:30 13:00 13:30 14:00 14:30 15:00 15:30 16:00 16:30 17:00 17:30 18:00 18:30 19:00 19:30 20:00 20:30 21:00 21:30 22:00 22:30 23:00 ~$
上手くいきました。
コメント