OT: anwendungsproblem viele dateien löschen

2002-09-04 Diskussionsfäden Patrick Hornung

Hallo Liste!

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.

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

Wie (mit welchen Werkzeugen) ist das möglich?
Ich glaube, awk kann Dateien nicht löschen. mit system() gehts auch
irgendwie nicht.

Vielen Dank für die Hilfe

Patrick Hornung


-- 
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)




Re: OT: anwendungsproblem viele dateien löschen

2002-09-04 Diskussionsfäden Markus Hubig

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


Re: OT: anwendungsproblem viele dateien löschen

2002-09-04 Diskussionsfäden erkan yanar

On Wed, Sep 04, 2002 at 05:34:51PM +0200, Patrick Hornung wrote:
 Hallo Liste!
 
 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.
find /usr/local | sed 's#/local/#/#' | while read file ; do [ -f $file ] 
rm $file ;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.
find /usr  -type d -links 2 | xargs rmdir

tschazu
erkan


-- 
ueber den grenzen muss die freiheit wohl wolkenlos sein


-- 
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)




Re: OT: anwendungsproblem viele dateien löschen

2002-09-04 Diskussionsfäden Markus Hubig

On Thu, 05 Sep 2002, erkan yanar wrote:

 On Wed, Sep 04, 2002 at 05:34:51PM +0200, Patrick Hornung wrote:

 Danach wäre eigentlich noch schön, wenn leere Verzeichnisse gelöscht
 würden, aber das könnte man dann ja per Hand machen.
 find /usr  -type d -links 2 | xargs rmdir

Trifft das nicht auf alle Verzeichnisse zu ??

   Gruß, Markus

-- 
Windows95: win-doz-nin-te-fiv n.
32 bit extensions and a graphical shell for a 16 bit patch to an
8 bit operating system originally coded for a 4 bit microprocessor,
written by a 2 bit company, that can't stand 1 bit of competition.



msg17843/pgp0.pgp
Description: PGP signature


Re: OT: anwendungsproblem viele dateien löschen

2002-09-04 Diskussionsfäden Rene Engelhard

Hi Markus,

Markus Hubig wrote:
 On Thu, 05 Sep 2002, erkan yanar wrote:
 
  On Wed, Sep 04, 2002 at 05:34:51PM +0200, Patrick Hornung wrote:
 
  Danach wäre eigentlich noch schön, wenn leere Verzeichnisse gelöscht
  würden, aber das könnte man dann ja per Hand machen.
  find /usr  -type d -links 2 | xargs rmdir
 
 Trifft das nicht auf alle Verzeichnisse zu ??

Ja.

Aber rmdir kann man da trotzdem benutzen weil rmdir bei nichtleeren
Verzeichnissen meckert und nichts macht...

Grüße

Rene
-- 
  .''`. Rene Engelhard -- Debian GNU/Linux Developer 
 : :' : http://www.debian.org | http://people.debian.org/~rene/ 
 `. `'  [EMAIL PROTECTED] | GnuPG-Key ID: 248AEB73
   ü-   Fingerprint: 41FA F208 28D4 7CA5 19BB  7AD9 F859 90B0 248A EB73



msg17845/pgp0.pgp
Description: PGP signature


Re: OT: anwendungsproblem viele dateien löschen

2002-09-04 Diskussionsfäden erkan yanar

On Thu, Sep 05, 2002 at 02:00:05AM +0200, Markus Hubig wrote:
 On Thu, 05 Sep 2002, erkan yanar wrote:
 
  On Wed, Sep 04, 2002 at 05:34:51PM +0200, Patrick Hornung wrote:
 
  Danach wäre eigentlich noch schön, wenn leere Verzeichnisse gelöscht
  würden, aber das könnte man dann ja per Hand machen.
  find /usr  -type d -links 2 | xargs rmdir
 
 Trifft das nicht auf alle Verzeichnisse zu ??
 
Nur auf die ohne Unterverzeichnis. Bin davon ausgegangen, daß via des
ersten Befehles die Verzeichnisse keine Dateien mehr enthalten.


tschazu
erkan




-- 
ueber den grenzen muss die freiheit wohl wolkenlos sein


-- 
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)