Jak liczyć dni od określonej daty do dziś za pomocą Bash Shell

Jak liczyć dni od określonej daty do dziś za pomocą Bash Shell

Cel

Celem jest użycie powłoki bash do liczenia dni od określonej daty do tej pory (dzisiaj).

Trudność

ŁATWY

Konwencje

  • # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
  • $ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Instrukcje

Najłatwiejszym sposobem na wykonywanie dni, ponieważ dzień specyfiki jest najpierw zdobycie kilku sekund od czasu epok (1970-01-01) dla obu dat. Jako przykład pozwala naliczyć liczbę dni od 28.12.1999 do dziś 8.1.2018. Rozważ następujący przykład:

$ echo $ ((($ (data +%s)-$ (data +%s-data „1999-12-28”))/(3600*24))) dni 6586 dni 

Dodajmy trochę czytelności do powyższego polecenia, używając zmiennych. Po pierwsze, do tej pory otrzymujemy kilka sekund od czasu Epoch (1970-01-01):

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

Następnie robimy to samo dla 28.12.1999 Data:

przeszłość = $ (data +%s-date „1999-12-28”) $ echo $ minione 946299600 

Następnie oblicz różnicę:

$ różnica = $ (($ now-$ przeszłość)) $ echo $ różnica 569070778 

Na koniec przekonwertuj różnicę w sekundach na dni:

$ echo $ (($ różnica/(3600*24))) 6586 

Wszystkie zrobione. Tej samej zasady można wykorzystać do obliczania dni między dowolnymi określonymi dniami. Na przykład liczmy dni między 1.1.2017 i 31.12.Daty 2017:

$ echo $ ((($ (data +%s-data „2017-12-31”)-$ (data +%s-data „2017-1-1”))/(3600*24)))))) dni 364 dni 

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Czas Twoje scenariusze i procedury Bash z wnętrza kodu
  • Konwertuj znacznik czasu na datę
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Polecenia Linux: Top 20 najważniejsze polecenia, które musisz…
  • Zaawansowane podpsy Linux z przykładami
  • Bash Scripting: Warunki
  • Podstawowe polecenia Linux
  • MX Linux vs Ubuntu