Neue und geänderte Dateien finden (find ...)
Ich habe etliche Dateien geändert bzw. ergänzt, wie kann ich die inkl. Pfad listen?
Auf einem Linux Webserver habe ich umfangreiche Änderungen gemacht: PHP, JS und andere Dateien geändert und hinzugefügt.
Wie erhalte ich einen Überblick über alle Dateien, die vor 0 bis 48 Stunden erstellt oder modifiziert wurden? Mein Test mit "find" ist nicht besonders überzeugend:
count="-2" ### 2 * 24h, siehe "man find"
find . -type f -mtime $count > files.txt
find . -type f -ctime $count >> files.txt
Dadurch entstehen leider Überschneidungen, wenn ctime und mtime zutreffend sind, denn: Dateien, die einkopiert und anschliessend geändert wurden, werden doppelt gelistet , weil ja ctime *und* mtime in den Zeitraum passen.
Dateien, die *nur* einkopiert wurden oder *nur* geändert wurden, werden zuverlässig gefunden.
Wie kann man das perfektionieren? Ich fürchte, ich komme um sort und uniq nicht herum...
---
Wie so oft, findet man die Lösung bei der Erörterung des Problems. Für alle anderen lasse ich meine Frage mal so stehen und stelle die Antwort gleich darunter:
Man verknüpft die time Parameter für find mit "OR" ( -o oder auch -or, siehe "man find" ):
find . -type f -mtime $count -o - ctime $count > files.txt
Auf einem Linux Webserver habe ich umfangreiche Änderungen gemacht: PHP, JS und andere Dateien geändert und hinzugefügt.
Wie erhalte ich einen Überblick über alle Dateien, die vor 0 bis 48 Stunden erstellt oder modifiziert wurden? Mein Test mit "find" ist nicht besonders überzeugend:
count="-2" ### 2 * 24h, siehe "man find"
find . -type f -mtime $count > files.txt
find . -type f -ctime $count >> files.txt
Dadurch entstehen leider Überschneidungen, wenn ctime und mtime zutreffend sind, denn: Dateien, die einkopiert und anschliessend geändert wurden, werden doppelt gelistet , weil ja ctime *und* mtime in den Zeitraum passen.
Dateien, die *nur* einkopiert wurden oder *nur* geändert wurden, werden zuverlässig gefunden.
Wie kann man das perfektionieren? Ich fürchte, ich komme um sort und uniq nicht herum...
---
Wie so oft, findet man die Lösung bei der Erörterung des Problems. Für alle anderen lasse ich meine Frage mal so stehen und stelle die Antwort gleich darunter:
Man verknüpft die time Parameter für find mit "OR" ( -o oder auch -or, siehe "man find" ):
find . -type f -mtime $count -o - ctime $count > files.txt
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 195790
Url: https://administrator.de/contentid/195790
Ausgedruckt am: 05.11.2024 um 19:11 Uhr
1 Kommentar