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?

Salzige Nüsse
quelle

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.

Andy
quelle
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.

JimB
quelle
1

findwird gut funktionieren. Einfach hinzufügen-maxdepth 1

Hyppy
quelle