2012-09-21 2 views
0

5 분 간격 시간 목록을 작성하는 쉘 스크립트를 작성해야합니다.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 

목록을 생성하려면 어떻게 스크립트를 작성해야합니까? 너무 복잡하면 일회성 작업이므로 수동으로 수행합니다.


업데이트 : 다음 스크립트가 작동

. 그러나 실제로는 07-05

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

크론 작업을하려고하십니까? http://www.thegeekstuff.com/2011/07/cron-every-5-minutes/ –

+0

당신은 어느 쉘을 사용하고 있습니까? 예를 들어'bash'에서리스트를 생성하는 간단한 방법이 있지만 어떤 쉘에서도 가능합니다. – chepner

답변

1

다음 쉘 스크립트는 필요한 데이터

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

간단한 bash는 솔루션 (버전 4 이상)이어야한다 7-5와 같은 하나의 숫자를 생성합니다

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

이것은 23- {00..55..5} – shantanuo

+0

을 반환합니다. 이것은 배시가 4 또는 그 이후라는 것을 잊지 않았습니다. – chepner

1

주어진 날짜에 시작해야하는 경우 , 당신은 사용할 수 있습니다

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