Neuste Dateiänderung in einem Verzeichnis
Hallo,
liebe Skript-Könige
ich möchte gerne in einem Verzeichnis (rekursiv für alle Unterverzeichnisse)
die Datei ermitteln, die als letztes geändert wurde.
Also:
MyDirectory
-- MySubDirectory1
----MyFile1 2010-07-17 12:00
----MyFile2 2010-07-16 11:00
-- MySubDirectory2
----MyFile3 2010-07-15 12:00
----MyFile4 2010-07-17 14:00
--MyFile5 2010-05-01 12:30
Dann soll das Skript "MyFile4" bzw. das Änderungsdatum zurückgeben.
Hintergrund:
Ich möchte (inspiriert von der C't) ein Skript bauen, das einmal am Tag eine
Menge von Verzeichnissen durchgeht und anhand obengenannter Aufgabenstellung
feststellt, welches Verzeichnis sich geändert hat.
Das geänderte Verzeichnis wird verschlüsselt gezipt und auf eine Online-
Festplatte hochgeladen (automatische Datensicherung).
Dieses Verfahren hat folgende Vorteile:
Ich kann von überall auf meine Daten zugreife (wenn ich das Paßwort nicht
vergesse).
Diese Lösung ist dabei OS-unabhängig.
Das schwierigste ist bisher für mich, dieses Änderungsdatum zu ermitteln.
Dieses ist mein erster Versuch
LATEST_CHANGE=`ls --full-time -otrR | tail -n 1 | sed 's/ / /g;s/ /
/g;s/ / /g'| cut -d ' ' -f 5,6`
welcher aber nicht klappt, weil ls -R leider nicht alle Dateien aller
Unterverzeichnisse gemeinsam betrachtet.
Mit cut möchte ich die 5. und 6. Spalte ermitteln, wo Datum und Zeit drinnen
steht. Leider sind hinter dem Dateibesitzer unterschiedlich viele Leerfelder
und cut betrachtet jedes Leerfeld als eigene Spalte.
Ich habe leider keinen vernünftigen regulären Ausdruck hinbekommen, um
mehrere Leerfelder zu einem zusammenzufassen, deshalb habe ich mehrere
reguläre Ausdrücke hintereinander ausgeführt.
Mit der falschen Sortierung von ls --full-time -otrR habe ich noch keine
richtige Idee. Vielleicht könnt ihr mir da einen Tip geben.
Vielleicht bin ich auch auf einer ganz falschen Fährte.
Auf alle Fälle: Danke für alle Hinweise und Tips.
Ciao
Peter Schütt
--
www.pstt.de
Die E-Mail-Adresse funktioniert, kann aber u.U. in Zukunft mal abgeschaltet
werden. Ohne "_remove_this_" wird sie auch in Zukunft noch funktionieren.
Reply to: