Suche Unix Befehl

Sebastian Inacker inacker at gmx.de
Sa Dez 4 10:20:36 CET 2004


Hallo.

On Wed, Dec 01, 2004 at 11:21:29AM +0100, Volker Gueth wrote:
> > ich suche eine Möglichkeit, um bei einem Unix-Rechner leere
> > Verzeichnisse zu suchen und dann zu löschen.
> find -type d -empty -exec rmdir {} \;

Ich hatte mal den Fall, in sonst leeren Verzeichnissen weitere leere
Verzeichnisse zu haben. Die habe ich mit

   find . -type d -depth -exec rmdir {} \;

beseitigt. Das ruft natuerlich rmdir fuer /jedes/ gefundene
Verzeichnis auf, rmdir scheitert dann bei Verzeichnissen, die noch
Dateien enthalten. "-depth" sorgt fuer die richtige Sortierung der
Verzeichnisse: Unterverzeichnisse kommen zuerst.

Optimieren kann man das mit

   find . -type d -depth -mindepth 1 | xargs rmdir --ignore-fail-on-non-empty

"-mindepth 1" sorgt dafuer, dass . nicht in der Liste von find
auftaucht.

Tschuess,
  Sebastian