On Wed, 04 Sep 2002, Patrick Hornung wrote:

> Ich habe mich entschlossen, selbst compilierte Programme auf dem Server
> unter /usr/local zu speichern. Dieses wird �ber nfs gemountet.
> Nun brauche ich die gleichen Dateien auf den Clienten unter /usr nicht
> mehr. Die m�chte ich l�schen. Habe bis jetzt folgenden Befehl:
> 
>     find /usr/local | awk '{ gsub("/local/","/"); print }'
>
> Damit werden also alle Dateien und Verzeichnisse Zeilenweise
> aufgelistet, und /local im Pfad entfernt.
> Nun weis ich nicht weiter. Ich m�chte Zeilenweise �berpr�fen, ob die
> jeweilige Resource existiert. Wenn ja soll �berpr�ft werden, ob es sich
> um eine Datei oder ein Verzeichnis handelt. Wenn es eine Datei ist, soll
> diese gel�scht werden.

for i in `find /usr/local -type f | awk '{ gsub("/local/","/"); print }'`; do 
   if [ -f $i ]; then
      echo "Ich l�sche jetzt $i"
   fi
done

> Danach w�re eigentlich noch sch�n, wenn leere Verzeichnisse gel�scht
> w�rden, aber das k�nnte man dann ja per Hand machen.

for i in `find /usr/local -type d | awk '{ gsub("/local/","/"); print }'`; do 
   if [ -d $i ]; then
      if [ `echo $i/*` = "$i/*" ]; then
         echo "Ich l�sche jetzt $i"
      fi
   fi
done

*!!Achtung!!* Dieses Unget�m erkennt leider nicht ob noch Dot-Files 
(z.B.: .bla) in den Ordnern sind. Und mit Sicherheit gibt's noch
smartere L�sungen um herauszufinden ob ein Ordner leer ist!

   Gru�, Markus

PS.: Vorsicht mit dem Zeugs da oben ... ;-)

-- 
Vi is to Emacs as masturbation is to making love:
effective and always available but probably not your first choice.

Attachment: msg17819/pgp00000.pgp
Description: PGP signature

Antwort per Email an