calendar para verificar a data e, em seguida, pesquisar 3 meses atrás e somar os dias desses meses

2

Eu quero usar o comando cal ou o comando date para exibir o dia atual, então eu quero mostrar 3 meses antes da data atual, Em seguida, some todos os dias nesses três meses até o dia atual. Existe uma maneira de fazer isso?

Portanto, a data de hoje é exibida como:

Fri Dec 19 13:23:36 GMT 2014 

3 meses atrás seria:

Fri Sep 19 13:23:36 GMT 2014 

Eu quero todos os dias adicionados pelo Linux de 19 de setembro a 19 de dezembro e, em seguida, exibir o resultado desse cálculo.

    
por user2995836 19.12.2014 / 14:27

1 resposta

3

bash e GNU date

#grab today's date in YYYYMMDD format
today=$(date +%Y%m%d)
#grab date as of 3 months ago in YYYYMMDD format
three_months_ago=$(date +%Y%m%d --date='3 months ago')

#now convert dates to "seconds since epoch" format, and then divide the difference  by 60*60*24 to convert from seconds to days
printf '%d\n' $(( ($(date --date=$today +%s) - \
  $(date --date=$three_months_ago +%s))/(60*60*24) ))
91
    
por 19.12.2014 / 15:43