Sie können date
die Arbeit für Sie erledigen: Mit dieser -d
Option können Sie das Datum in einer "meist frei lesbaren, vom Menschen lesbaren Datumszeichenfolge" (von man date
) angeben .
Leider ist das Format nicht ganz frei, um die hwclock
Ausgabe zu akzeptieren, aber es funktioniert gut, wenn Sie das letzte Feld entfernen, in dem Sekundenbruchteile angegeben werden:
date -d "$(hwclock|sed 's/ \..*$//g')"
Ich habe das Format getestet, aber es ist mir nicht gelungen, das Format zu treffen, wenn es keine Sekundenbruchteile gibt. Ich weiß nicht, ob es dasselbe Format anzeigen würde, z Sat 28 Jul 2018 08:47:47 PM BST .000000 seconds
. Wenn es keine Dezimalstelle gibt, ist ein weiterer sed
Ersatz erforderlich.
Vorausgesetzt, dass nach der Zeitzone noch ein doppeltes Leerzeichen vorhanden ist, funktioniert Folgendes:
date -d "$(hwclock|sed 's/ .*$//g')"
Sie können dies als Shellskript oder als Funktion definieren ~/.bashrc
, die wie hwclockdf
(dh im date
Format) definiert ist.