Leere Ordner löschen - rekursiv

Leere Ordner löschen - rekursiv

Ich möchte einige Ordner aufräumen. Dazu möchte ich alle Ordner löschen, die leer sind oder nur andere Ordner enthalten...

Zuerst versuchte ich

find . -type d -delete

aber dies listet die Unterordner nach den übergeordneten Ordnern auf, sodass ich es mehrere Male ausführen müsste.

Also habe ich versucht, Tac und Rohre zu verwenden

find . -type d | tac | xargs rmdir

Dieses schlägt bei Leerzeichen usw. fehl, also brauche ich eine Maskierung – jetzt stecke ich fest …

Antwort1

find . -type d -depth -exec rmdir {} +

sollte funktionieren, wenn Sie ein halbwegs aktuelles find(1) haben - beachten Sie, dass execplus 1989 hinzugefügt wurde ;-)

Beachten Sie, dass es einen Hinweis gab, dass es möglicherweise nicht standardmäßige Find-Implementierungen gibt, die eine Warnung ausgeben, wenn -depthnicht als erstes angegeben wurde primary.

verwandte Informationen