On Wed, 28 Mar 2007, Denny Schierz wrote:
hi,
Martin Dommermuth schrieb:
for i in `find /ver/zei/chnis/`; do rm -rf $i; done
das scheitert leider an Dateien mit Leerzeichen im Namen.
dann schreibt man die Variable einfach in Anführungszeichen:
for i in `find /ver/zei/chnis/`; do rm -rf "$i"; done
dann sollte es klappen.
Nein, die for Schleife hat als Trenner auch Leerzeichen.
Ich wuerde ein find nehmen, die Suchtiefe einschraenken und entweder jede
Datei einzeln mit -exec loeschen oder in einer pipe an xargs uebergeben,
dort dann soviele Prozesse gleichzeitig ausloesen, wie vertretbar ist.
Aber bei Uebergabe an ein anderes Programm immer pruefen, ob/wann
Filetrenner wirken, Sonderzeichen escaped werden muessen, und hier wieviele
Parameter ich wie uebergeben darf.
Einfach und unkritisch waere ein:
nice find . -type f -maxdepth 1 -exec rm {} \;
Egal wieviele Dateien geraeumt werden sollen. Einfach nacheinander
abarbeiten kann auch ein Vorteil sein, wenn man mal erlebt hat, wie
ein xargs ohne Grenzen auferlegt --max-args bekommen zu haben, ein
System in die Knie zwingt.
cu Frank
--
> >In vielen Serverraeumen laeuft das eine oder andere Mitglied der VAX-
> >Familie noch heute vor sich hin und traegt zur recovery des Admin bei.
>
> Es gibt auch durchaus VAXen in Wohnzimmern weiblicher Mitleser.
Wow, ich dachte bisher, sowas gaeb's nur in romantischen Geschichten:
"Moechtest Du noch kurz mit reinkommen, meine VAX anschauen..."
Hm. Jetzt verstehe ich, warum SIE immer sagt: "Mach keine VAXen...!"
--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org