O Bash gera a data formatada dos últimos 6 meses

0

Eu quero executar um script para recuperar os resultados de uma API para cada dia nos últimos 6 meses. O ponto de extremidade da API usa a data como

/url/yyyy/mm/dd

Como posso gerar as datas usando o bash para conseguir isso?

    
por sayth 13.07.2017 / 10:22

1 resposta

2

O seguinte script provavelmente fará você - embora você possa querer calcular 6 meses atrás (em segundos mais exatamente - eu simplesmente usei 31 dias * 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
    
por 13.07.2017 / 12:00