Ich versuche einen Befehl auszuführen und möchte das Datum und die Uhrzeit in den Namen der Ausgabedatei einfügen.
Hier ist ein Beispielbefehl, den ich ausführen möchte.
md5sum /etc/mtab > 2016_4_25_10_30_AM.log
Das Datums- und Uhrzeitformat kann bei Unterstrichen beliebig sinnvoll sein. Auch UTC, wenn AM und PM nicht verwendet werden können.
Antworten:
Wenn Sie die aktuelle Datums- und Uhrzeitangabe als Dateinamen verwenden möchten, können Sie die Befehlsersetzung verwenden
date
und ausführen .Dies führt dazu, dass die Datei
2016_04_25_10_30_AM.log
(mit der aktuellen Datums- und Uhrzeitangabe) mit dem MD5-Hashwert/etc/mtab
als Inhalt erstellt wird.Bitte beachten Sie, dass Dateinamen mit Zeitstempeln im 12-Stunden-Format möglicherweise nicht so nach Namen sortiert werden, wie Sie es möchten. Sie können dieses Problem vermeiden, indem Sie stattdessen Zeitstempel im 24-Stunden-Format verwenden.
Wenn Sie dieses Datumsformat nicht verwenden müssen, können Sie ein ISO 8601-konformes Datums- / Uhrzeitformat verwenden. Einige Beispiele zum Generieren gültiger ISO 8601-Datums- / Uhrzeitdarstellungen:
Wenn Sie sicherere Dateinamen möchten (z. B. aus Gründen der Windows-Kompatibilität), können Sie die Doppelpunkte im Zeitabschnitt weglassen.
Bitte beachten Sie, dass die obigen Beispiele alle die lokale Systemzeit annehmen. Wenn Sie eine Zeitdarstellung benötigen, die in allen Zeitzonen konsistent ist, sollten Sie einen Zeitzonenversatz oder eine UTC-Zeit angeben. Sie können einen ISO 8601-kompatiblen Zeitzonenversatz erhalten, indem Sie "% z" im Formatteil Ihres
date
Anrufs wie folgt verwenden:Sie können die UTC-Zeit in Ihrem
date
Aufruf abrufen, indem Sie das-u
Flag angeben und "Z" am Ende der Datums- / Uhrzeitzeichenfolge hinzufügen, um anzugeben, dass die Zeit wie folgt in UTC angegeben ist:quelle
$(date +%FT%T)
das zu verwenden, was geben wird2016-04-25T10:30:00
.