Список дат, происходящих с интервалами n дней в пределах диапазона дат [закрыто]

, я хотел бы указать диапазон дат и число r (n) и перечислить все даты, происходящие с интервалом в n дней в этот диапазон.

Например, если дата начала - 22 апреля 2017 г., а дата окончания - 19 декабря 2017 г., я хочу напечатать даты с шагом 11 дней, начиная с 22 апреля 2017 г. Первой датой будет 3 мая 2017 г., следующей датой. один 14 мая 2017 года и так далее. В этом примере n = 11.

0
задан 23 August 2017 в 09:16

1 ответ

start="22 April 2017"
end=$(date +%s -d "19 December 2017")
i=0
while (($(date +%s -d "$start + $i days") < end))
do
    date +%F -d "$start + $i days"
    ((i+=11))
done

GNU date позволяет выражения как <date> + <n> days. +%s метка времени Unix и +F дата в YYYY-MM-DD.

Вывод:

2017-04-22
2017-05-03
2017-05-14
2017-05-25
2017-06-05
2017-06-16
2017-06-27
2017-07-08
2017-07-19
2017-07-30
2017-08-10
2017-08-21
2017-09-01
2017-09-12
2017-09-23
2017-10-04
2017-10-15
2017-10-26
2017-11-06
2017-11-17
2017-11-28
2017-12-09
2
ответ дан 2 November 2019 в 09:51

Другие вопросы по тегам:

Похожие вопросы: