Cara mendaftar hanya hari kerja menggunakan baris perintah shell di linux

Cara mendaftar hanya hari kerja menggunakan baris perintah shell di linux

Artikel berikut akan menjelaskan prosedur sederhana tentang cara membuat daftar hari kerja (hari kerja) pada baris perintah Linux. Harap dicatat bahwa prosedur di bawah ini tidak memperhitungkan hari libur umum untuk negara Anda yang relevan karena hanya menunjukkan hari -hari kata sementara tidak termasuk akhir pekan.

Untuk ini kami akan menggunakan ncal memerintah. Mari kita mulai latihan lengkap dengan menampilkan kalender untuk awal bulan ini:

$ ncal -h Agustus 2016 mo ​​1 8 15 22 29 tu 2 9 16 23 30 WE 3 10 17 24 31 TH 4 11 18 25 FR 5 12 19 26 Sa 6 13 20 27 Su 7 14 21 28 28 

Selanjutnya, kita hanya perlu mengekstrak hari kerja dari kalender, sementara juga menghapus semua data yang tidak perlu seperti garis kosong dan judul bulan:

$ ncal -h | grep -ve "^s |^|^$" mo 1 8 15 22 29 tu 2 9 16 23 30 WE 3 10 17 24 31 TH 4 11 18 25 FR 5 12 19 26 

Pada tahap ini kami juga menghapus semua karakter alfabet:

$ ncal -h | grep -ve "^s |^|^$" | sed "s/[[: alpha:]] // g" 1 8 15 22 29 2 9 16 23 30 3 10 17 24 31 4 11 18 25 5 12 19 26 

Bulat di atas adalah semua hari kerja untuk bulan ini. Mari kita format dan urutkan:

$ ncal -h | grep -ve "^s |^|^$" | sed "s/[[: alpha:]] // g" | FMT -W 1 | Sort -N 1 2 3 4 5 8 9 10 11 12 15 16 17 18 19 22 23 24 25 26 29 30 31 

Itu semuanya. Sekarang, Anda memiliki daftar lengkap dan diurutkan dari semua hari kerja untuk bulan ini. Jika Anda ingin menghitung jumlah hari kerja untuk bulan berjalan cukup pipa output toilet memerintah:

$ ncal -h | grep -ve "^s |^|^$" | sed "s/[[: alpha:]] // g" | FMT -W 1 | urutkan -n | WC -L 23 

Itu mudah. Jika Anda ingin mengetahui jumlah hari kerja selama setahun penuh misalnya.2017 Tambahkan tahun yang Anda inginkan sebagai ncal argumen:

$ ncal -h 2017 | grep -ve "^s |^|^$" | sed "s/[[: alpha:]] // g" | FMT -W 1 | urutkan -n | WC -L 260 

Dari sini kami dapat dengan mudah menggunakan bash untuk loop dan menghitung jumlah hari kerja Anda antara kisaran tahun. Adapun contoh 40 tahun ke depan antara 2017 - 2047:

 $ untuk saya dalam $ (SEQ 2017 2047); do ncal -h $ i | grep -ve "^s |^|^$" | sed "s/[[: alpha:]] // g" | FMT -W 1 | urutkan -n | wc -l; selesai | Tempel -SD+ - | BC 8087 

Anda baru saja menyaksikan kekuatan GNU/Linux Shell.

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
  • Dasar -dasar editor VIM di Linux
  • Perintah Linux Dasar
  • Perintah Linux: 20 perintah terpenting teratas yang Anda butuhkan untuk…
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Cara mencetak pohon direktori menggunakan linux
  • Perintah manusia di Linux dengan contoh
  • Sistem Linux Hung? Cara melarikan diri ke baris perintah dan…
  • Cara Mengubah Kata Sandi dan Akun Opsi Kedaluwarsa di Linux…