
Wie kann ich dieDatumBefehl, um die Anzahl der Tage im aktuellen und nächsten Monat herauszufinden?
Antwort1
Brute Force: Generieren Sie die nächsten 31 und 62 Tage und nehmen Sie die größte Zahl:
month=$(date +%m)
maxDayThisMonth=$(( for d in {00..31}; do date -d "+$d days" +%m-%d ; done ; ) | grep -Po "(?<=$month-)\d+" | sort -rn | head -1)
nextMonth=$(printf "%02d" $(( ($month+1) % 12 )) )
maxDayNextMonth=$(( for d in {01..62}; do date -d "+$d days" +%m-%d ; done ; ) | grep -Po "(?<=$nextMonth-)\d+" | sort -rn | head -1)
grep -P
ist ein GNU-ismus, aber da dies für Linux ist … Andernfalls können Sie es durch ein konventionelleres grep
+ ersetzen cut
.