Bash: Datumsvergleich

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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


Cuchulainn 
Fragesteller
 26.01.2008, 10:51

Ich danke dir. Es hat funktioniert.

0

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


Cuchulainn 
Fragesteller
 26.01.2008, 10:42

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

0

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 [".


Cuchulainn 
Fragesteller
 29.01.2008, 18:35

Danke. Das ist sehr gut zu wissen.

0