Zum Beispiel möchte ich das aktuelle Datum und die aktuelle Uhrzeit im folgenden Format anzeigen:
yyyymmddhhmmss
Wie mache ich das? Es scheint , wie die meisten Datumsformate mit kommen -
, /
, :
etc.
Bitte schön:
date +%Y%m%d%H%M%S
Wie man date
oben erwähnt, können Sie den folgenden date
Befehl verwenden:
date [OPTION]... [+FORMAT]
Das heißt, Sie können ihm einen Formatparameter geben, beginnend mit a +
. Sie können wahrscheinlich die Bedeutung der von mir verwendeten Formatierungssymbole erraten:
%Y
ist für das Jahr%m
ist für Monat%d
ist für den TagSie finden dieses und andere Formatierungssymbole in man date
.
Ein einfaches Beispiel in Shell-Skript
#!/bin/bash
current_date_time="`date +%Y%m%d%H%M%S`";
echo $current_date_time;
Ohne Interpunktionsformat: - +% Y% m% d% H% M% S
Mit Interpunktion: - +% Y-% m-% d% H:% M:% S.
"`date +%Y-%m-%d %H:%M:%S`"
gibt mir einedate: illegal time format
Wenn Sie Bash verwenden, können Sie auch einen der folgenden Befehle verwenden:
Sie können die Option verwenden
-v varname
, um das Ergebnis zu speichern,$varname
anstatt es auf stdout zu drucken:Während der Datumsbefehl immer in einer Subshell (dh in einem separaten Prozess) ausgeführt wird, ist printf ein integrierter Befehl und daher schneller.
quelle
%
Optionen Sie übergeben können, scheint dies derdate
Befehl zu sein. So erhaltenman date
Sie die verfügbaren Optionen.Ohne Interpunktion (wie @Burusothman erwähnt hat):
O / P:
Mit Interpunktion :
O / P:
quelle
Interessante / lustige Möglichkeit, dies mithilfe der Parametererweiterung zu tun (erforderlich
bash 4.4
oder neuer):quelle