Ich arbeite in einer Umgebung, in der ich so gut wie nur Zugriff auf Busybox-Tools habe, und versuche, ein Datum im Format Mon Jan 1 23:59:59 2018 GMT
in einen Unix-Zeitstempel in einem Shell-Skript zu konvertieren . Ich kann das Format der Eingabezeit, die ich analysiere, nicht ändern. Es scheint, dass busybox date
dieses Datumsformat oder ein anderes Format mit einem benannten Monat nicht verstanden werden kann. Ich habe ein wirklich hässliches Skript, das das kann, aber weiß jemand etwas Schöneres?
Bearbeiten: Die date -D
Option funktioniert bei mir nicht, verstehe ich
date: invalid option -- 'D'
BusyBox v1.24.1 (2018-01-11 16:07:45 PST) multi-call binary.
Usage: date [OPTIONS] [+FMT] [TIME]`
-d
Option für eine Datumszeichenfolge wird nicht verwendet .Antworten:
Die Busybox
date
2 ist in der Lage, das Datum in der angegebenen Zeichenfolge mit Hilfe von 1 (mit Ausnahme der GMT-Zeitzone) vollständig zu analysieren .Die Hilfe wird mit der
-D
Option gegeben: eine Beschreibung des Quellformats.Um einen UNIX-Zeitstempel zu erhalten, fügen Sie einfach das erwartete Ausgabeformat hinzu
+'%s'
:1
Die Busybox
date
verfügt über die meisten Funktionen des GNU-date
Befehls und eine, die der GNU-date
Befehl nicht bietet: die-D
Option. Holen Sie sich die Busybox-Hilfe wie folgt:Beachten Sie die
-D FMT
Option.2
Beachten Sie, dass Sie die Busybox möglicherweise
date
auf zwei Arten anrufen können:Oder wenn ein Link zu
busybox
mit dem Namendate
im richtigenPATH
Verzeichnis installiert wurde :Um dies zu überprüfen, fragen Sie einfach nach
--version
oder--help
finden Sie heraus, welches Datum Sie installiert haben.Mit GNU
date
:Oder (Busybox
date
):quelle
date: invalid option -- 'D' BusyBox v1.24.1 (2018-01-11 16:07:45 PST) multi-call binary. Usage: date [OPTIONS] [+FMT] [TIME]
. Es ist jedoch eine gute Antwort, ich werde es wahrscheinlich akzeptieren, wenn ich hier nichts bekomme, was für mich funktioniert.-D FMT
Option. Außerdem (unter demselben Link) können Sie die Busybox 1.27 herunterladen . Sie hat nur eine Größe von 900 KByte.-D FMT Use FMT for -d TIME conversion
. Sie sollten es sehen können.