Unixzeit in einer Shell-Procedure

Diskutiere Unixzeit in einer Shell-Procedure im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hai. Ich benötige die Unixzeit in Sekunden in einer Procedure, um damit einen Dateinamen eindeutig zu machen. Z.B. datname.1637826482.txt...

  1. #1 AudiCamper, 12.06.2007
    AudiCamper

    AudiCamper Grünschnabel

    Dabei seit:
    12.06.2007
    Beiträge:
    5
    Zustimmungen:
    0
    Hai.

    Ich benötige die Unixzeit in Sekunden in einer Procedure, um damit einen Dateinamen eindeutig zu machen.

    Z.B. datname.1637826482.txt (1637826482 soll die Unixzeit sein).

    Ich weiß einfach nicht, wie ich die Unixzeit in den Dateinamen bekomme. Überall lese ich von "date +%s", aber das funktioniert unter einem AIX-Unix nicht.

    Bitte helft mir.

    AudiCamper
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Fallout, 12.06.2007
    Fallout

    Fallout Doppel-As

    Dabei seit:
    02.03.2007
    Beiträge:
    120
    Zustimmungen:
    0
    Hi,

    Wolfgang bezieht sich in diesem Thema genau auf Dein Problem (Stichwort perl).

    Gruß Daniel
     
  4. Psyjo

    Psyjo Routinier

    Dabei seit:
    15.11.2005
    Beiträge:
    259
    Zustimmungen:
    0
    Ort:
    Hinter'm Berg
    Code:
    $ cp datei.txt datei.txt.`date +%s`
    $ ls -l datei*
    -rw-r--r-- 1 jan users 0 12. Jun 10:33 datei.txt
    -rw-r--r-- 1 jan users 0 12. Jun 10:33 datei.txt.1181637208
    
    einfach wie oben zu sehen ist den "date" - Befehl anhängen; genau an dieser Stelle wird dann die Zeit angefügt.

    MfG
    Psyjo
     
  5. #4 AudiCamper, 12.06.2007
    Zuletzt bearbeitet: 12.06.2007
    AudiCamper

    AudiCamper Grünschnabel

    Dabei seit:
    12.06.2007
    Beiträge:
    5
    Zustimmungen:
    0
    Danke für Eure schnellen Antworten.

    @Fallout
    Aus Wolfgangs-Thema erkenne ich einfach nicht, wie ich die Sekunden seit dem 1.1.1970 ausgebe. ich weiß auch nicht ob PERL eine gute Idee ist. Gibt es keine Möglichkeit die Unixzeit mit Unix-Kommandos zu erstellen.

    @Psyjo
    Das %s kennt mein date nicht. Das kennt wohl nur das GNU-date.
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    Ich möchte wirklich nur die Sekunden seit 1.1.1970 in Sekunden angezeigt bekommen. Wenn möglich mit einem Unix-Befehl. :(
     
  6. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Was steht denn in 'man date' unter AIX so drin? nichts hilfreiches? Auch keine Verweise auf andere man-seiten?
     
  7. #6 AudiCamper, 12.06.2007
    AudiCamper

    AudiCamper Grünschnabel

    Dabei seit:
    12.06.2007
    Beiträge:
    5
    Zustimmungen:
    0
    Nix, was mir bisher weitergeholfen hätte. Es fehlt halt das %s ;(
     
  8. #7 Fallout, 12.06.2007
    Fallout

    Fallout Doppel-As

    Dabei seit:
    02.03.2007
    Beiträge:
    120
    Zustimmungen:
    0
    Naja, wie dort schon beschrieben wurde, scheint das standardmäßige onboard-Werkzeug 'date' u. a. bei AIX keine %s-Formatierung (oder verlgeichbares) anzubieten. Das ist nur eine Erweiterung durch das GNU-Projekt.

    Daher bietet sich als einfachste Lösung Perl an, da dieses mittlerweile wohl schon zu den Standardpaketen der bekanntesten Distributionen gehört.
    Die Lösungen in dem verlinkten Beitrag passen tatsächlich nicht zu 100% auf Dein Problem, jedoch läßt sich der richtige String relativ einfach ableiten:
    Code:
    perl -le 'print time'
    Ergibt zumindest bei mir:
    Gruß Daniel
     
  9. #8 AudiCamper, 12.06.2007
    AudiCamper

    AudiCamper Grünschnabel

    Dabei seit:
    12.06.2007
    Beiträge:
    5
    Zustimmungen:
    0
    Jau, mit Perl klappt das.

    Danke für die Hilfe.
     
  10. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  11. #9 smg, 12.06.2007
    Zuletzt bearbeitet: 12.06.2007
    smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    GNU Date?
    AIX?
    Wir können awk nehmen, das hat nen C wrapper zur Clib Funktion strftime also kein Perl nötig.
    Spielerei?

     
  12. #10 AudiCamper, 13.06.2007
    AudiCamper

    AudiCamper Grünschnabel

    Dabei seit:
    12.06.2007
    Beiträge:
    5
    Zustimmungen:
    0
    Jau, das hilft.

    Danke.
     
Thema:

Unixzeit in einer Shell-Procedure

Die Seite wird geladen...

Unixzeit in einer Shell-Procedure - Ähnliche Themen

  1. Problem bei der installation einer Sun Netzwerkkarte

    Problem bei der installation einer Sun Netzwerkkarte: Guten Morgen zusammen, beim installieren einer zusätzlichen Netzwerkkarte habe ich ein Problem. Die Karte wird nicht automatisch installiert. Es...
  2. 2 Spalten in EINER Textdatei GETRENNT addieren

    2 Spalten in EINER Textdatei GETRENNT addieren: Hey, bin ein ziemlicher Neuling in Sachen programmieren. Nun steh ich vor dem Problem, dass ich 2 Zahlenspalten inner Textdatei (vim) getrennt...
  3. Summe von Zahlen in einer Zeilen bilden

    Summe von Zahlen in einer Zeilen bilden: Auf ein Neues... Ich komme bei folgender Problematik nicht weiter: Ich habe eine Datei (zahlen.txt), die ich einlese mit folgenden Daten: 111 222...
  4. Bestimmte Zeilen einer Spalte addieren

    Bestimmte Zeilen einer Spalte addieren: Hallo, würde mich über Hilfe in Form eines Unix-Befehls oder AWK bei folgendem Problem freuen: Ich habe eine Textdatei, in der Werte drin sind in...
  5. Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen

    Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen: Hallo, ich habe ein Verzeichnis, darin enthalten sind mehrere Dateien. Nun möchte ich alle Dateien (Parameter $1) gegen eine konstante Datei...