Nicht rekursiver Fund unter Linux


7

Ich versuche, alle Verzeichnisse zu finden, die sich direkt im aktuellen Verzeichnis befinden und älter als ein bestimmtes Alter sind. Der Trick ist, ich möchte nur das Alter der unmittelbaren Nachkommen des aktuellen Verzeichnisses berücksichtigen und sie nicht rekursiv durchsuchen.

Ein Verwendungsbeispiel ist die tägliche Sicherung von Dateien. Jeden Tag wird ein neues Verzeichnis erstellt, aber die in diesem Verzeichnis abgelegten Dateien behalten ihre Zeitstempel und sind häufig älter. Ich möchte in der Lage sein, alte Backups zu bereinigen, ohne die alten Dateien in neueren Snapshots zu löschen.

Es sieht so aus, als ob Sie dies findmöglicherweise nicht können. Welches Unix-Tool (oder eine Kombination davon) empfehlen Sie?

Antworten:


18

Sie können Sie -maxdepthund -mindepthmit Ihrer modifizierten / zugegriffenen / geänderten Attributsuche Ihrer Wahl, dh

find -maxdepth 1 -mtime 4

für 4 Tage.

Vergessen Sie nicht, die zurückgegebenen .und ..Ergebnisse auszuschließen find.

Nützlicher Link zu vielen findBeispielen.


Vielen Dank. Ich habe diese Option (maxdepth) schon einmal ausprobiert, sie aber falsch verwendet. Das funktioniert jetzt!
SaltyNuts

Ich denke, es wäre -mtime +4 für älter als 4 Tage anstatt genau 4 Tage.
Duke

4

Sie suchen nach den -maxdepthund -mindepthOptionen.


1

findwird gut funktionieren. Einfach hinzufügen-maxdepth 1

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.