Fornece a data anterior como argumento para o shell script

0

Eu preciso executar o script passando a data anterior como argumento da linha de comando. Deve ser automatizado. Então, como posso passar a data anterior para o script?

Por exemplo:

sh processFile.sh previousdate previousdate
    
por user218332 28.02.2017 / 10:34

4 respostas

0

Você poderia usar isso para obter o dia anterior e passá-lo como um argumento:

 date +%Y-%m-%d -d "1 day ago"

para mais referências man página de date para manipular minutos e segundos.

    
por 28.02.2017 / 10:40
0

isso funcionará:

sh processFile.sh "$(date +"%Y-%m-%d" -d "yesterday")"  "$(date +"%Y-%m-%d" -d "yesterday")"
    
por 28.02.2017 / 10:41
0

Desculpe, recebi a resposta. Postando que isso ajudaria alguém. Pode ser executado assim:

sh getDate.sh "$(date --date="-1 day" +%Y-%m-%d)" "$(date --date="-1 day" +%Y-%m-%d)"
    
por 28.02.2017 / 10:39
0

Com o GNU date :

previousdate=$( date -d 'yesterday' +'%F' )
sh processFile.sh "$previousdate" "$previousdate"

com macOS date :

previousdate=$( date -j -v -1d +'%F' )
sh processFile.sh "$previousdate" "$previousdate"
    
por 28.02.2017 / 11:25