Bash: Suchen nach leeren Verzeichnissen optimieren
Es geht um das Suchen von leeren Verzeichnissen bzw. Löschen von diesen. Folgende Syntax hat ein Problem, wenn das Verzeichnis nur versteckte Dateien bzw. Verzeichnisse hat. find /pfad/ -depth -type d -empty -exec rmdir "{}" \; Wie kann ich den Befehl verbessern? -- Αl -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 18.09.2013 13:21, schrieb Аl Воgnеr:
Es geht um das Suchen von leeren Verzeichnissen bzw. Löschen von diesen.
Folgende Syntax hat ein Problem, wenn das Verzeichnis nur versteckte Dateien bzw. Verzeichnisse hat.
find /pfad/ -depth -type d -empty -exec rmdir "{}" \;
Wie kann ich den Befehl verbessern?
Hallo Al, bei mir tut es. Ich würde hier lieber auf den Parameter exec verzichten und dafür find in Kombination mit xargs nehmen. Ich habe folgende Eventualitäten angenommen: # mkdir -p test/test1 # touch test/test1/file # mkdir -p test/test2 # touch test/test2/.file # mkdir -p test/test3/.dir # touch test/test3/.dir/file # mkdir -p test/test4/.dir # touch test/test4/.dir/.file # mkdir -p test/test5/.dir # touch test/test5/file # mkdir -p test/test6/.dir # mkdir -p test/test7 # find test/ -depth -type d -empty -print0 | xargs -r -0 echo Output: test/test6/.dir test/test7 test/test5/.dir # find test/ -depth -type d -empty -print0 | xargs -r -0 rmdir -v Output: rmdir: Verzeichnis wird entfernt, "test/test6/.dir" rmdir: Verzeichnis wird entfernt, "test/test7" rmdir: Verzeichnis wird entfernt, "test/test5/.dir" Funktioniert hier einwandfrei. HTH, -- Gruß Sebastian - openSUSE Member (Freespacer) Webseite/Blog: <http://www.sebastian-siebert.de> Wichtiger Hinweis zur openSUSE Mailing Liste: <http://de.opensuse.org/openSUSE:Mailinglisten_Netiquette> -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo Аl, Am 18.09.2013 13:21 schrieb Аl Воgnеr <suse-ml@corr.eu.org>:
Es geht um das Suchen von leeren Verzeichnissen bzw. Löschen von diesen.
Folgende Syntax hat ein Problem, wenn das Verzeichnis nur versteckte Dateien bzw. Verzeichnisse hat.
find /pfad/ -depth -type d -empty -exec rmdir "{}" \;
Wie kann ich den Befehl verbessern?
find /pfad/ -type d -exec rmdir -p {} \; Mit freundlichen Grüßen si -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (3)
-
Sebastian Siebert
-
Susan Ivanova
-
Аl Воgnеr