Cara mengira hari sejak tarikh tertentu sehingga hari ini menggunakan shell bash

Cara mengira hari sejak tarikh tertentu sehingga hari ini menggunakan shell bash

Objektif

Objektifnya adalah menggunakan shell bash untuk mengira hari sejak tarikh tertentu sehingga sekarang (hari ini).

Kesukaran

Mudah

Konvensyen

  • # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
  • $ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak

Arahan

Cara paling mudah untuk melakukan kiraan hari sejak hari tertentu adalah untuk mendapatkan beberapa saat sejak masa zaman (1970-01-01) untuk kedua-dua tarikh. Contohnya membolehkan jumlah hari sejak 28 tahun.12.1999 hingga hari ini 8.1.2018. Pertimbangkan contoh berikut:

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

Mari tambahkan sedikit kebolehbacaan kepada arahan di atas dengan menggunakan pembolehubah. Pertama, kita mendapat detik sejak zaman zaman (1970-01-01) sehingga sekarang:

$ sekarang = $ (tarikh +%s) $ echo $ sekarang 1515370378 

Seterusnya kita melakukan perkara yang sama untuk 28.12.Tarikh 1999:

masa lalu = $ (tarikh +%s--date "1999-12-28") $ echo $ Past 946299600 

Seterusnya, hitung perbezaannya:

$ perbezaan = $ (($ sekarang- $ masa lalu)) $ echo $ perbezaan 569070778 

Akhir sekali, tukar perbezaan dalam beberapa saat ke hari:

$ echo $ (($ perbezaan/(3600*24))) 6586 

Semua selesai. Prinsip yang sama dapat digunakan untuk mengira hari antara hari -hari tertentu. Contohnya mari kita mengira hari antara 1.1.2017 dan 31.12.Tarikh 2017:

$ echo $ ((($ (tarikh +%s--dat "2017-12-31")-$ (tarikh +%s --dat "2017-1-1"))/(3600*24))) Hari 364 hari 

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Masa skrip dan prosedur bash anda dari dalam kod
  • Tukar cap waktu setakat ini
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?
  • Perintah Linux: Top 20 Perintah Paling Penting yang Anda Perlu ..
  • Subshells Linux Lanjutan dengan contoh
  • Skrip bash: syarat
  • Perintah Linux Asas
  • MX Linux vs Ubuntu