Como contar dias desde uma data específica até hoje, usando a Bash Shell

Como contar dias desde uma data específica até hoje, usando a Bash Shell

Objetivo

O objetivo é usar o Bash Shell para contar dias desde uma data específica até agora (hoje).

Dificuldade

FÁCIL

Convenções

  • # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
  • $ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Instruções

A maneira mais fácil de realizar os dias de contagem desde um dia de especificidades é obter um número de segundos desde a época da época (1970-01-01) para ambas as datas. Como exemplo, permite contar o número de dias desde 28.12.1999 até hoje 8.1.2018. Considere um exemplo a seguir:

$ echo $ ((($ (data +%s)-$ (data +%s-data "1999-12-28")/(3600*24))) Dias 6586 dias 

Vamos adicionar um pouco de legibilidade ao comando acima usando variáveis. Primeiro, recebemos segundos desde a Epoch Time (1970-01-01) até agora:

$ agora = $ (data +%s) $ echo $ agora 1515370378 

Em seguida, fazemos o mesmo para os 28.12.Data de 1999:

passado = $ (data +%s-data "1999-12-28") $ echo $ depois 946299600 

Em seguida, calcule a diferença:

$ diferença = $ (($ agora- $ passado)) $ echo $ diferença 569070778 

Por fim, converta a diferença de segundos a dias:

$ echo $ (($ diferença/(3600*24))) 6586 

Tudo feito. O mesmo princípio pode ser usado para calcular dias entre os dias específicos. Por exemplo, vamos contar os dias entre 1.1.2017 e 31.12.Datas de 2017:

$ echo $ ((($ (data +%s-data "2017-12-31")-$ (data +%s-data "2017-1-1")/(3600*24))) dias 364 dias 

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Cronometrar seus scripts e procedimentos de bash de dentro do código
  • Converta o timestamp até o momento
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
  • Comandos Linux: os 20 comandos mais importantes que você precisa para…
  • Subshells avançados de Linux com exemplos
  • Scripts Bash: Condicionais
  • Comandos básicos do Linux
  • MX Linux vs Ubuntu