problemchen mit gnu find

28/04/2011 - 15:56 von Andreas Leitgeb | Report spam
Ich hab ein selbstgestricktes cleanup-script, das unterhalb eines
bestimmten Verzeichnisses alle leeren Verzeichnisse putzt:
find $dir -type d -exec rmdir {} \;
rmdir meckert zwar über jedes nicht-leere verzeichnis, das ist mir
mal eher egal und dem find auch: wenn ausschliesslich nicht-leere
Verzeichnisse da sind, dann liefert find brav einen exit-status 0.

Allerdings kriegt "find" nicht mit, wenn der rmdir ein dir tatsàchlich
putzen konnte, und will dann gleich im soeben gelöschten dir weitermachen.
Das geht natürlich nicht, und schon motzt find mit einem fehler und mit
exit-status 1.

Ein Vergleich mit dem find auf einer solaris maschine zeigt, dass der
solaris-find das irgendwie schon merkt, und das gelöschte verzeichnis
still+leise "überspringt".

Mich würde nun eure Einschàtzung interessieren, ob das Verhalten
von gnu-find
a) richtig & zu erwarten
b) undefiniert & zu akzeptieren
c) ein bug & zu reporten
ist.

snip
mkdir find-test ; cd find-test
mkdir a
find . -exec rmdir {} \; ; echo $?
cd ..; rmdir find-test
snip
 

Lesen sie die antworten

#1 Ralf Döblitz
28/04/2011 - 20:35 | Warnen spam
Andreas Leitgeb wrote:
Ich hab ein selbstgestricktes cleanup-script, das unterhalb eines
bestimmten Verzeichnisses alle leeren Verzeichnisse putzt:
find $dir -type d -exec rmdir {} \;
rmdir meckert zwar über jedes nicht-leere verzeichnis, das ist mir
mal eher egal und dem find auch: wenn ausschliesslich nicht-leere
Verzeichnisse da sind, dann liefert find brav einen exit-status 0.

Allerdings kriegt "find" nicht mit, wenn der rmdir ein dir tatsàchlich
putzen konnte, und will dann gleich im soeben gelöschten dir weitermachen.
Das geht natürlich nicht, und schon motzt find mit einem fehler und mit
exit-status 1.



Ich würde da grundsàtzlich erst einmal ein "-depth" spendieren, allein
schon damit leere Bàume auch mit abgeràumt werden können (man muß ja
erst die Subdirs entfernen). Tritt das Problem dann immer noch auf?

Ralf
Ach? Und ich hatte bisher immer gedacht, dass die Fraunsleut
diejenigen waeren, deren Koerper die sagenumwobene Bildungs-
luecke aufweist; und die Mannsbilder besaessen den passenden
Bildungsstopfen dazu. – Peter G. Bouillon

Ähnliche fragen