Quickie: Automatischer Zeitstempel in Textdatei

Hinweis: In dem Thema Quickie: Automatischer Zeitstempel in Textdatei gibt es 17 Antworten auf 2 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Hallöchen :)



    Da mich diverse Suchmaschinen mit ihren Ergebnissen schon leicht annerven weil mir nur Kram für Taucher und HAM-Radio angeboten wird frage ich Euch:

    Ich suche nach einer simplen Lösung ein "Tagebuch" oder Logbuch - möglichst mit "Bordmitteln" zu führen.


    Lustiger Weise erinnere ich mich da als Erstes an die wohl einzige coole Funktion in Windows :D Man konnte in Notepad einfach eine Datei mit .LOG beginnen und erhielt fortan bei jedem Öffnen einen Zeitstempel aus Datum und Uhrzeit in die Datei gesetzt. Genau DAS möchte ich gerne wieder haben um etwas ähnliches wie ein Tagebuch zu führen. Kann doch nicht sein dass wir das nur per vimFummelei hinkriegen?


    Grüße von

    KiB

    Never attribute to malice that which can be adequately explained by stupidity.


    Für den Inhalt des Beitrages 284054 haftet ausdrücklich der jeweilige Autor: 1440 KiB

  • Code
    stampit(){
        export EDITOR=${EDITOR:-$(which vi)}
        printf "\n_______________________\nDatei \"$1\" wurde am %s um %s editiert.\n" \
                "$(date +%Y-%m-%d)" "$(date +%H:%M)" >> $1
        printf  "Das is ungefähr $(date -u)\n__________________________\n" >> $1
        $EDITOR $1
    }
  • Gesundheit!! 8|:S


    Danke dir sehr für die Mühen, das wird nachfolgende Gugler sicher auch interessieren!


    ..ich spreche aber kein vi und plane auch nicht diesen Editor je zu benutzen. Ichweißichweiß....ohne bin ich des Todes ;)

    Gibt es auch eine Lösung mit nano ?


    Ich war sogar bereit mir das sonst sehr gut aussehende und mit allerhand Funktionen ausgerüstete almanah zu installieren. Als Paket selbst wiegt es nur ein paar Kilobytchen .....aber will bei der Installation direkt 36 GNOME-Bibliotheken nach haben und auf einmal sind wir bei 179 MB!! Setzen, 6!


    Mir kommt da selbst gerade eine Idee wie man es mit Alias und >> vielleicht hinpfuschen könnte! Hmmm....

    Trotzdem schade dass es das offenbar nicht eingebaut gibt? Ich kann doch unmöglich der Einzige sein der sowas brauchen kann??


    Grüße von

    KiB

    Never attribute to malice that which can be adequately explained by stupidity.


    Für den Inhalt des Beitrages 284058 haftet ausdrücklich der jeweilige Autor: 1440 KiB

  • Hallo!


    Test erfolgreich ;) Ist arger Pfusch, aber funzt....vielen Dank für die Inspiration.

    Code
    alias log='date >> testnano && nano testnano'


    Freue mich aber trotzdem auf alle besseren Lösungen die noch folgen mögen! :thumbup:


    Grüße von

    KiB

    Never attribute to malice that which can be adequately explained by stupidity.


    Für den Inhalt des Beitrages 284059 haftet ausdrücklich der jeweilige Autor: 1440 KiB

  • Code
    stampit(){
        export EDITOR=${EDITOR:-$(which vi)}
        printf "\n_______________________\nDatei \"$1\" wurde am %s um %s editiert.\n" \
                "$(date +%Y-%m-%d)" "$(date +%H:%M)" >> $1
        printf  "Das is ungefähr $(date -u)\n__________________________\n" >> $1
        $EDITOR $1
    }

    Kannst Du mir erklären, was hier passiert? Ich bin an der Lösung interessiert aber kann Deine Kommandos nicht praktisch einsetzen. Sagen wir, ich habe eine Textdatei xyz.txt. Wie bekomme ich mit Deinen Kommandos die Datumausgabe?


    Grüße


    Heinz-Peter

    Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt. Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

    Für den Inhalt des Beitrages 284060 haftet ausdrücklich der jeweilige Autor: Heinz-Peter

  • Das ist eine Shell- Funktion,, deren paar Zeilen du einfach in deiner $HOME/.bashrc anfügst (oder eine solche damit erstellst).

    Steht diese Funktion in obiger Datei kannst du jederzeit mit

    stampit /Pfad/zu/datei 

    aufrufen.

    In Zeile zwei wird die Variable auf den Standardpfad von vi ( which vi) gesetzt.


    Dann werden einfach in Zeile 3 und 4 jeweils eine Zeile an die Datei angehängt

    und letztlich wird einfach der in Zeile 2 gesetze Editor mit dieser Datei (samt neuen, angehängten zwei Zeilen) aufgerufen.


    Es gibt unzählig viele Möglichkeiten dein Ziel zu erreichen. Viele Editoren haben so etwas eingebaut.

    Sag, was du __genau__ möchtest, oder setze Zeile 2 auf den Editor deiner Wahl.

  • Das ist eine Shell- Funktion,, deren paar Zeilen du einfach in deiner $HOME/.bashrc anfügst (oder eine solche damit erstellst).

    Danke für die Erklärung.

    Wird mit dem Script/Shell-Funktion das Erstellungsdatum der Textdatei nur angezeigt oder wird was geändert an der Datei?

    Entschuldige die Fragerei aber ich habe noch weniger Ahnung, wie Du und Sokrates zusammen :)

    Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt. Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

    Für den Inhalt des Beitrages 284062 haftet ausdrücklich der jeweilige Autor: Heinz-Peter

  • printf "Das is ungefähr $(date -u)\n__________________________\n" >> $1


    Diese Anweisung liest sich:

    Gebe schön formatiert ( printf == print formatted) zuerst die Zeichenkette "Das is ungefähr " aus.

    Ersetze aber vorher das $(date -u ) mit der Ausgabe des Befehls "date -u" (was Datum und Zeit in UTC ausgibt).

    Und hinterher eine neue Zeile \n

    gefolgt von vielen Unterstrichen und noch einer neuen Zeile \n

    >> ABER HÄNGE diese Ausgabe an die Datei an, die du mir als erstes Argument beim Aufruf mitgebeben hast.

    (Wir erinnern uns: stampit /Pfad/wohin)


    Die Ausgabeumlenkung ">>" bewirkt ein Anhängen (oder erstellen) einer Datei.

    Ein einfaches '">" würde die Datei erstellen oder überschreiben. (Löschen und neu erstellen - technisch gesehen).

    Es ist ein fundamentales Konzept der *nix Shells, dass Befehle auf vielfältige Art und Weise umgelenkt und/oder verkettet werden (können).

  • Ersetze aber vorher das $(date -u ) mit der Ausgabe des Befehls "date -u" (was Datum und Zeit in UTC ausgibt).

    Ich verstehe die Beschreibung so:

    Das ursprüngliche Datum der Datei wird mit dem aktuellen Datum in UTC ersetzt.

    Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt. Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

    Für den Inhalt des Beitrages 284070 haftet ausdrücklich der jeweilige Autor: Heinz-Peter