Datum und Uhrzeit in der Linux-Bash [geschlossen]


26

Ich versuche eine Datums- und Uhrzeitanzeige in Form von

07.08.2013 16:52:13 Uhr

Mit dem Befehl im Bash-Skript:

dt=`date '+%d/%m/%Y_%H:%M:%S'`

Mit welcher Variablen wird eine CSV-Datei gefüllt?

Das einzige Zeichen, das akzeptiert wird, ist "_" (Unterstrich) oder "-" zwischen Datum und Uhrzeit. Die Ausgabe erfolgt

07/08 / 2013_16: 52: 13

Wie bekomme ich ein Leerzeichen zwischen Datum und Uhrzeit? Ich habe fast (ich hoffe) alles versucht.


5
" " Und "-" sind die einzigen Zeichen, die von _who akzeptiert werden ? Was hindert Sie daran, das "_" durch "" in der Formatzeichenfolge zu ersetzen date?
Manatwork

Nichts verhindert die Aufnahme des "" in den Befehl, sie erscheinen nur nicht in der Ausgabe. Versuchen Sie Datum + "% b% e" und Sie erhalten "4. September" (ein Leerzeichen) für heute, nicht die gewünschte 2. Ich verwende es in einem Skript und meine Lösung ist, die Operation in 3 Schritten durchzuführen (I Kombinieren Sie sie tatsächlich zu einer Codezeile, aber Sie haben die Idee.
Jim2B

Wie erhielt diese Frage bei allem Respekt 20 Stimmen? Und wie kam es in die Wiedereröffnungswarteschlange?
G-Man sagt, dass Monica

Antworten:


49
#!/bin/bash

dt=$(date '+%d/%m/%Y %H:%M:%S');
echo "$dt"

Ich schätze, das Problem liegt im "Echo" auf die CSV.


3
Wenn Sie Millisekunden benötigen, verwenden Sie date '+%F %T.%3N'. Wenn Sie Mikrosekunden benötigen, verwenden Sie date '+%F %T.%6N'. Wenn Sie Nanosekunden benötigen, verwenden Sie date '+%F %T.%N'. %Fist für Datum, es gibt YYYY-MM-DD, können Sie %Dstattdessen verwenden, um zu bekommen MM-DD-YYYY, %Tist für Zeit HH:MM:SS,.
Computingfreak

4

Das funktioniert:

#!/bin/bash
dt=`date '+%d/%m/%Y %H:%M:%S'`
echo "$dt"

Es ist auch möglich, $(und )anstelle von `und` zu verwenden.


Ich habe vergessen zu erwähnen, dass es nach der Anwendung von awk / home / pi / SB_tool / sunnybeamtool / bin / sunnybeamtool -l | schief geht awk -v tot = $ tot -v dt = $ dt -v day = $ day -v mth = $ mth 'folgender Fehler 08/08/2013 23:03:03 awk: Zeile 1: Syntaxfehler bei oder in der Nähe von:
Henry

Gelöst durch Zuweisen von 2 getrennten Werten dt und tm. awk akzeptiert keine Variablen mit 2 durch Leerzeichen getrennten Werten
Henry
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.