Ich versuche, diesen Befehl auszuführen date +'%-4.4h %2.1d %H:%M'
, aber die Ausgabe ist nicht korrekt:
%-4.4h %2.1d 12:50
Ich glaube, dass entweder mit meinem Ubuntu-Terminal oder dem Code etwas nicht stimmt. Irgendwelche Ratschläge, bitte? PS: Anfänger
Antwort1
Soweit ich weiß, sind %-4.4h
und %2.1d
keine gültigen Formatbezeichner für den GNU- date
Befehl – insbesondere Präzisionsmodifikatoren sind sinnlos und werden nicht unterstützt. Die akzeptierten Modifikatoren sind:
After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available.
(„Dezimal“ bedeutet hier nur die Ziffern 0-9).
Die Formatbezeichner für den vollständigen Monatsnamen und den Tag im Monat sind %B
bzw. ( für abgekürzte Monatsnamen %d
können Sie Kleinbuchstaben %b
oder verwenden, z. B. für ). Beispiel:%h
Sep
September
$ date +'%B %d %H:%M'
May 12 07:46
$ date +'%B %d %H:%M' -d 'today + 4 months'
September 12 07:48
$ date +'%b %d %H:%M' -d 'today + 4 months'
Sep 12 07:50
Beachten Sie, dass FeldbreitenspezifiziererMinimumBreiten, so zum Beispiel
$ date +'%4B %4d %H:%M'
May 0012 08:04
Pads May
auf 4 Zeichen, aber
$ date +'%4B %4d %H:%M' -d 'today + 4 months'
September 0012 08:03
wird nicht September
auf gekürzt Sept
.
man date
Eine vollständige Liste der %
Spezifizierer finden Sie unter.