1

Bash: Datumsvergleich

Frage von Cuchulainn Cuchulainn

Ich habe noch eine Frage zur Bash-Skript-Programmierung. Ich habe zwei Dateien, die eine hat mein Skript ermittelt, die andere wurde übergeben. Nun habe ich von beiden Dateien das letzte Änderungsdatum in Variablen gespeichert. Diese Daten möchte ich nun vergleichen, aber mein Ansatz unten funktioniert nicht.

if [[ "$TAGUEBERGABE > $TAG" ]]

then

echo "$NAME"

fi

Oder gibt es vielleicht sogar eine einfachere Möglichkeit herausfinden, welche Datei älter oder jünger ist?

Fragen zu gleichen Themen finden

Antworten (3)

  • 1
    Hilfreichste Antwort ausgezeichnet vom Fragesteller
    Hilfreichste Antwort von a1exander a1exander

    Wenn die beiden Variablen numerisch sind, dann versuche es mit [ $TAGUEVERGABE -gt $TAG ] im Test. Damit das Datum numerisch wird, benutze an einfachsten den Unix-Zeitstempel, also

    if [ $(stat -c %Y $DATEI1) -gt $(stat -c %Y $DATEI2) ] ; then echo "Test" ; fi

    Kommentar von Cuchulainn CuchulainnCuchulainn

    Ich danke dir. Es hat funktioniert.

  • 1
    Antwort von mju13 mju13

    Du kannst die Zeitstempel der beiden Dateien auch direkt vergleichen:

    > #!/bin/bash
    >
    > file1=datei1.csv
    > file2=datei2.csv
    >
    > if [ $file1 -nt $file2 ]; then # NewerThan
    > echo "$file1 ist neuer als $file2"
    > fi
    >

    Weitere Tests stehen unter "man test" bzw. "man [".

    Kommentar von Cuchulainn CuchulainnCuchulainn

    Danke. Das ist sehr gut zu wissen.

  • 1
    Antwort von elise elise

    Anscheinend sollte ein Leerzeichen sowohl nach der öffnenden als auch vor der schliessenden eckigen Klammer stehen.Vielleicht funktioniert es.

    Kommentar von Cuchulainn CuchulainnCuchulainn

    Vielen Dank für die Antwort. Das war leider nicht das Problem :(

Diese Frage

Verwandte Fragen

Noch nicht den richtigen Rat gefunden?

Einfach und schnell viele hilfreiche Ratschläge von Deutschlands aktivster Ratgeber-Community erhalten!

Einfach und schnell einen Tipp erstellen und Ihren guten Rat mit anderen teilen!

Einfach und schnell ein Video hochladen und anschaulichen Rat an alle geben!

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.