Ich habe es mit $(date)
in meinem Bash-Shell-Skript, aber ich möchte das Datum in YYYY-MM-DD
Format.
Wie kann ich das bekommen?
Antworten
Zu viele Anzeigen?
xu2mao
Punkte
516
wjandrea
Punkte
21948
Mit der aktuellen Bash (Version 4.2) können Sie die eingebaute printf
mit dem Formatmodifikator %(strftime_format)T
:
$ printf '%(%Y-%m-%d)T\n' -1 # Get YYYY-MM-DD (-1 stands for "current time")
2017-11-10
$ printf '%(%F)T\n' -1 # Synonym of the above
2017-11-10
$ printf -v date '%(%F)T' -1 # Capture as var $date
printf
ist viel schneller als date
da es ein Bash-Builtin ist, während date
ist ein externer Befehl.
Auch das, printf -v date ...
ist schneller als date=$(printf ...)
da es nicht erforderlich ist, eine Subshell zu forken.
Luís de Sousa
Punkte
4569
kgui
Punkte
3859
Miguel
Punkte
2843
12 Stimmen
Die Kommentare müssen mindestens 15 Wörter lang sein. Datum -I
18 Stimmen
In der Tat
date -I
ist alles, was Sie brauchen. Ich habe Jahre gebraucht, um darauf zu stoßen.5 Stimmen
date -I
funktioniert nur unter Linux mit GNU-Tools, nicht unter macOS / BSD; die Installation von Gebräu -->brew install coreutils
machtgdate -I
verfügbar