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.