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.
msg17819/pgp00000.pgp
Description: PGP signature

