Objetivo
El objetivo es usar bash shell para contar los días desde una fecha específica hasta ahora (hoy).
Dificultad
FÁCIL
Convenciones
- # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de
sudo
dominio - ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado
Instrucciones
La forma más fácil de realizar el recuento de días ya que un día de detalles es obtener primero varios segundos desde la hora de la época (1970-01-01) para ambas fechas. Como ejemplo, cuente el número de días desde 28.12.1999 hasta hoy 8.1.2018. Considere un siguiente ejemplo:
$ Echo $ (((($ (fecha +%s)-$ (fecha +%s-fecha "1999-12-28"))/(3600*24))) días 6586 días
Agreguemos un poco de legibilidad al comando anterior usando variables. Primero, obtenemos segundos desde la hora de la época (1970-01-01) hasta ahora:
$ ahora = $ (fecha +%s) $ echo $ ahora 1515370378
A continuación hacemos lo mismo para el 28.12.Fecha de 1999:
Pasado = $ (Fecha +%S-Date "1999-12-28") $ Echo $ PAST 946299600
A continuación, calcule la diferencia:
$ diferencia = $ (($ ahora- $ pasado)) $ echo $ diferencia 569070778
Por último, convierta la diferencia en segundos a días:
$ echo $ (($ diferencia/(3600*24))) 6586
Todo listo. El mismo principio puede usarse para calcular los días entre cualquier día específico. Por ejemplo, cuentemos los días entre 1.1.2017 y 31.12.Fechas de 2017:
$ Echo $ (((($ (fecha +%s-fecha "2017-12-31")-$ (fecha +%s --date "2017-1-1-1")/(3600*24)))) días 364 días