Shell-Datumsumrechnung / wie kann ich mir mit date, mir das Datum as Unixtimestamp ausgeben lassen?
-
Hallo,
ich habe eine Software, die Dateinen verarbeitet, ich habe den Quellcode nicht, das Ding steht
Ich möchte ihn dazu bringen meine Dateinen auch zu bearbeiten, dafür muss ich das Datum (now()) in Sekunden umrechnen, ausgehend vom 1.1.1970 00:00:00 ...Zum Beispiel ist: 21.02.2008 15:46:00 ergibt 1203608760 ...
Das soll so aussehen, dass ich das Datum übergebe und er mit die Zahl ausspuckt.
ich bräuchte eine Möglichkeit das in der Shell auszurechnen, oder ein kleines C - Programm.
edit: wie kann ich mir mit date, mir das Datum as Unixtimestamp ausgeben lassen?
Danke für Eure Hilfe.
Alex
-
Versuch mal:
date +%s
Gruß mcr
EDIT: ich bin mir gerade gar nicht mehr so sicher, ob du die aktuelle Zeit meintest.
-
Hier noch ein Tip:
mit
ls --full-time | awk '{printf("%s %s %s\n", $6, $7, $8)}'
Bekommst du einen Zeitstring pro Datei.
Jeden dieser Strings kannst du dann mitdate -d 'string' +%s
in deine gewünschte Zahl umwandeln.
Bsp:
ls -l liefert:-rw-r--r-- 1 mcr mcr 6574 6. Feb 15:06 geb.tex
ls --full-time liefert:
-rw-r--r-- 1 mcr mcr 6574 2008-02-06 15:06:46.000000000 +0100 geb.tex
Die obere Zeile liefert:
2008-02-06 15:06:46.000000000 +0100
und die gewünschte Anzahl an Sekunden erhälst du durch:
date -d '2008-02-06 15:06:46.000000000 +0100' +%s
Ergebnis:
1202306806
So, wie du das jetzt zusammel bastelst, überlasse ich dir.
Gruß mcr
-
Hallo MCR,
danke für deine Tipps, ich habe es vieel einfach gelöst, auf dem Server ist ein Perl-Interpreter am laufen, also kann ich sagen:
shell-code
UXDATE=`perl -e 'print time'`
Schon hatte ich die Sekunden sein 1970 in der Variable und mit der konnte ich mit sed das Datum in einer Vorlagen Datei ersetzen.
Ich habe heut Vormittag das Skript gecoded und es funktioniert perfekt.
Danke für deine Hilfe.
Gruss Alex
-
Ach so, die aktuelle Zeit kannst du auch mit date in sec bekommen.
Aber das hatte ich ja schon vorher geschrieben gehabt.Gruß mcr