Leere Verzeichnisse finden und löschen

Datum: 2007-05-10
Quelle: mrunix.de

Worum ging es?

In einem Verzeichnisbaum sollen alle leeren Verzeichnisse gelöscht werden.

Code
# V1
find . -mindepth 1 -type d -empty -exec rmdir {} \;
# V2
find . -mindepth 1 -type d -empty -depth -exec rmdir {} \;
# V3
find . -mindepth 1 -type d -empty -depth -print | xargs rmdir
Beschreibung

Alle Varianten arbeiten mit den Möglichkeiten des find. V2 arbeitet den Inhalt jedes Verzeichnis vor dem Verzeichnis selbst ab, damit werden auch solche Verzeichnisse erwischt, die nur leere Unterverzeichnisse enthalten. V3 ist effektiver, weil nicht jedesmal ein neuer Prozess für rmdir gestartet wird.