![시작 및 종료 날짜/시간을 사용하여 분당 시간 표시](https://linux55.com/image/13206/%EC%8B%9C%EC%9E%91%20%EB%B0%8F%20%EC%A2%85%EB%A3%8C%20%EB%82%A0%EC%A7%9C%2F%EC%8B%9C%EA%B0%84%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%B6%84%EB%8B%B9%20%EC%8B%9C%EA%B0%84%20%ED%91%9C%EC%8B%9C.png)
두 날짜와 시간 사이의 시간을 매분마다 표시하는 스크립트를 작성하고 싶습니다. 시작 및 종료 간격은 5분, 3시간, 30일 등 임의의 값이 될 수 있습니다.
예:
Start time: 2019-12-31 23:57:00
End Time : 2020-01-01 00:03:00
결과:
2019-12-31 23:57:00
2019-12-31 23:58:00
2019-12-31 23:59:00
2020-01-01 00:00:00
2020-01-01 00:01:00
2020-01-01 00:02:00
2020-01-01 00:03:00
편집: 이 옵션을 사용할 때 다음 오류가 발생합니다 -d
.
date: Not a recognized flag: d
Usage: date [-u] [+"Field Descriptors"]
답변1
date
이는 다음과 같은 표현식을 처리할 수 있는 GNU를 사용하면 +1 minute
매우 간단합니다 .
#!/bin/bash
start='2019-12-31 23:57:00'
end='2020-01-01 00:03:00'
date=$start
while [[ $date < $end || $date == $end ]] ; do
echo "$date"
date=$(date -d "+1 minute $date" '+%Y-%m-%d %H:%M:%S')
done