Gleichen ordner aus mehrern Ordner löschen?

Bash, Shell, PHP, Python, Perl, CGI
user996
Posts: 49
Joined: 2004-08-01 13:23

Gleichen ordner aus mehrern Ordner löschen?

Post by user996 » 2005-08-22 15:26

Hallo,

ich möchte ein Script schreiben das einen bestimmten Ordner "Demos"
aus mehrern Ordner löscht:
#/bin/sh

dir="test,test1,test2";
rm -r /home/$dir/Demos
exit 0
Allerdings funktioniert das so nicht?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Gleichen ordner aus mehrern Ordner löschen?

Post by Joe User » 2005-08-22 15:33

Code: Select all

rm -r /home/test{,1,2}/Demos
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

user996
Posts: 49
Joined: 2004-08-01 13:23

Re: Gleichen ordner aus mehrern Ordner löschen?

Post by user996 » 2005-08-22 15:48

Erstmal thx fuer deine Hilfe
#/bin/sh

#Logfiles HLDS Server entfernen
#HLDS
rm -r /gameserver/hlds{,1,2,3,4}/cstrike/logs/*
#CSS
rm -r /gameserver/css{,1,2,3,4}/cstrike/logs/*
#UT2004 Demos loeschen
rm -r /gameserver/UT2004/UserLogs/*
Allerdings bekomme ich nun:
./files: line 5: /bin/rm: Argument list too long
./files: line 7: /bin/rm: Argument list too long

user996
Posts: 49
Joined: 2004-08-01 13:23

Re: Gleichen ordner aus mehrern Ordner löschen?

Post by user996 » 2005-08-23 16:14

weis keiner was?

flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: Gleichen ordner aus mehrern Ordner löschen?

Post by flo » 2005-08-23 16:22

Code: Select all

for i in "/gameserver/hlds*/cstrike/logs/*"; do rm -v -i "$i"; done;
flo.

mem
Posts: 45
Joined: 2003-12-22 11:09

Re: Gleichen ordner aus mehrern Ordner löschen?

Post by mem » 2005-08-23 16:29

Oder vielleicht:

Code: Select all

find /gameserver/hlds*/cstrike/logs/* | xargs rm -i

flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: Gleichen ordner aus mehrern Ordner löschen?

Post by flo » 2005-08-23 16:43

Das würde ich dann aber so machen ...

Code: Select all

find . -name '/gameserver/hlds*/cstrike/logs/*' -depth -exec rm {} ;
;-)

Spaß beiseite - mit den Beispielen vorsichtig sein, falls Dateien mit Whitespaces dabei sind ... besser vorher ausprobieren.

flo.

captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Gleichen ordner aus mehrern Ordner löschen?

Post by captaincrunch » 2005-08-23 16:46

Wenn du das so machst, kotzt dein -exec vermutlich aber auch massiv rum. Den Unterschied zwischen xargs und -exec (und warum man -exec nicht verwenden will) hatte ich hier irgendwann einmal erklärt. ;)

EDIT: hier also die Erklärung dazu: http://www.rootforum.org/forum/viewtopic.php?t=29648
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc