Я хочу запустить скрипт для получения результатов из API для каждого дня за последние 6 месяцев. Конечная точка API использует дату как
/url/yyyy/mm/dd
Как я могу сгенерировать даты, используя bash, чтобы добиться этого?
Я хочу запустить скрипт для получения результатов из API для каждого дня за последние 6 месяцев. Конечная точка API использует дату как
/url/yyyy/mm/dd
Как я могу сгенерировать даты, используя bash, чтобы добиться этого?
Следующий скрипт, вероятно, подойдет вам - хотя вы можете рассчитывать 6 месяцев назад (точнее, в секундах - я просто использовал 31 день * 6).
#! /bin/bash
URL="/url/"
# Key times in seconds
sixmonths=$(( 60 * 60 * 24 * 31 * 6 ))
oneday=$(( 60 * 60 * 24 ))
CURRENTSECS=`/bin/date +%s`
STARTDATEINSECS=$(( $CURRENTSECS - $sixmonths ))
i=$STARTDATEINSECS
while [ $i -le $CURRENTSECS ]
do
echo $URL`/bin/date -d @$i +"%Y/%m/%d"`
i=$(( $i + $oneday ))
done