Comment compter les jours depuis une date spécifique jusqu'à aujourd'hui en utilisant Bash Shell

Comment compter les jours depuis une date spécifique jusqu'à aujourd'hui en utilisant Bash Shell

Objectif

L'objectif est d'utiliser Bash Shell pour compter les jours depuis une date spécifique jusqu'à présent (aujourd'hui).

Difficulté

FACILE

Conventions

  • # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
  • $ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Instructions

La façon la plus simple d'effectuer des jours qui comptent depuis une journée de détails est d'obtenir d'abord un certain nombre de secondes depuis l'époque de l'époque (1970-01-01) pour les deux dates. Par exemple, comptons le nombre de jours depuis 28.12.1999 jusqu'à aujourd'hui 8.1.2018. Considérez un exemple suivant:

$ echo $ ((($ (date +% s) - $ (date +% s - date "1999-12-28")) / (3600 * 24))) jours 6586 jours 

Ajoutons un peu de lisibilité à la commande ci-dessus en utilisant des variables. Tout d'abord, nous obtenons quelques secondes depuis l'époque époque (1970-01-01) jusqu'à présent:

$ maintenant = $ (date +% s) $ echo $ maintenant 1515370378 

Ensuite, nous faisons de même pour le 28.12.1999 Date:

passé = $ (date +% s --date "1999-12-28") $ echo $ Past 946299600 

Ensuite, calculez la différence:

$ différence = $ (($ maintenant - $ passé)) $ echo $ différence 569070778 

Enfin, convertissez la différence en secondes en jours:

$ echo $ (($ différence / (3600 * 24))) 6586 

Terminé. Le même principe peut être utilisé pour calculer les jours entre tous les jours spécifiques. Par exemple, comptons les jours entre 1.1.2017 et 31.12.Dates 2017:

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

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Temps vos scripts et procédures de bash de l'intérieur du code
  • Convertir l'horodatage à ce jour
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Commandes Linux: les 20 meilleures commandes les plus importantes que vous devez…
  • Sous-sheells Linux avancés avec des exemples
  • Scénarios de bash: conditionnels
  • Commandes Linux de base
  • MX Linux vs Ubuntu