Shell: Alter von Quell- und Zieldatei vergleichen

Persönliche Seite #1261877
Lesenswert?

Emil schrieb:
> Ich möchte Quell- und Zieldatei vergleichen. Wenn die Quelldatei neuer
> ist, als die Zieldatei, soll ein Befehl ausgeführt werden.

> Wie bekommt man die Zeit einer Datei?

ls -al FILENAME| awk '{print $6" " $7}'

> Wie vergleicht man zwei Zeiten?

Datum jeweils in Unixtime umrechnen und subtrahieren:

date +%s -d "`ls FILENAME | awk '{print $6" " $7}'`"
#1261887
Lesenswert?

Olli R. schrieb:

>> Wie bekommt man die Zeit einer Datei?
>
> ls -al FILENAME| awk '{print $6" " $7}'
>
>> Wie vergleicht man zwei Zeiten?
>
> Datum jeweils in Unixtime umrechnen und subtrahieren:
>
> date +%s -d "`ls FILENAME | awk '{print $6" " $7}'`"

Wie immer unter Unix: Viele Wege führen zum Ziel.
Dein Weg hängt aber vom Ausgabeformat von ls ab. Für ein lokales Skript 
in Ordnung, nur portabel isses halt nicht wirklich.
Gast #1262514
Lesenswert?

mit bash geht es auch so:

if [[ quelle -nt ziel || ! -f ziel ]]
then
"create ziel from quelle"
else
echo "nothing to do"
fi

evtl. kann man die bedingungen noch tauschen, spart dann vielleicht 
etwas rechenzeit. allerdings kostet mich das nachschlagen ein 
milliardenfaches..

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren