So listen Sie nur Arbeitstage mit der Shell -Befehlszeile unter Linux auf

So listen Sie nur Arbeitstage mit der Shell -Befehlszeile unter Linux auf

Der folgende Artikel erläutert eine einfache Prozedur zur Auflistung von Arbeitstagen (Geschäftstage) in einer Linux -Befehlszeile. Bitte beachten Sie, dass das folgende Verfahren keine Feiertage für Ihr relevantes Land berücksichtigt.

Dafür werden wir verwenden NCAL Befehl. Beginnen wir das vollständige Training, indem wir einen Kalender für einen aktuellen Monat beginnen:

$ ncal -H August 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 

Als nächstes müssen wir nur Arbeitstage aus dem Kalender extrahieren und gleichzeitig alle unnötigen Daten wie leere Linien und Monatsüberschriften entfernen:

$ 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 

Zu diesem Zeitpunkt entfernen wir auch alle alphabetischen Zeichen:

$ ncal -h | grep -ve "^s |^|^$" | sed " 

Die oben genannten Ganzzahlen sind alle Arbeitstage für einen aktuellen Monat. Lassen Sie uns formatieren und sortieren:

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

Das ist alles. Jetzt haben Sie eine vollständige und sortierte Liste aller Arbeitstage für einen aktuellen Monat. Falls Sie die Anzahl der Arbeitstage für einen aktuellen Monat berechnen möchten, gehen Sie einfach die Ausgabe an Toilette Befehl:

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

Das war einfach. Wenn Sie die Anzahl der Arbeitstage für ein ganzes Jahr wissen möchten, z. B.2017 fügen Sie Ihr gewünschtes Jahr als hinzu NCAL Streit:

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

Von hier aus können wir Bash problemlos für die Schleife verwenden und die Anzahl Ihrer Arbeitstage zwischen den Jahren der Jahre berechnen. Wie für ein Beispiel in den nächsten 40 Jahren zwischen 2017 und 2047:

 $ für i in $ (SEQ 2017 2047); do ncal -h $ i | grep -ve "^s |^|^$" | sed "s/[: alpha:]] // g" | fmt -W 1 | sortieren -n | wc -l; fertig | Einfügen -sd+ - | BC 8087 

Sie haben gerade die Kraft der GNU/Linux -Shell gesehen.

Verwandte Linux -Tutorials:

  • Dinge zu installieren auf Ubuntu 20.04
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • VIM -Editor -Grundlagen in Linux
  • Grundlegende Linux -Befehle
  • Linux -Befehle: Top 20 wichtigste Befehle, die Sie benötigen, um…
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • So drucken Sie den Verzeichnisbaum mit Linux
  • MAN -Befehl in Linux mit Beispielen
  • Hung Linux System? Wie man zur Befehlszeile entkommt und…
  • So ändern Sie die Optionen für das Passwort und das Konto -Ablauf unter Linux…