Re: Ordner leeren (nicht löschen)

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Mon, 4 Jun 2007 12:40:00 +0200 (CEST)

Timm Wimmers wrote:
> Gegeben ist ein Ordner mit etlichen Unterordnern. Ich schaffe es einfach
> nicht, dass der komplette Inhalt der Unterordner gelöscht wir, aber die
> erste Ebene der Struktur der Unterordner beibehalten wird.
>
> /masterfolder
> /messwerte_1
> /messwerte_2
> /messwerte_3
> /etc.
>
> Löschen ALLER Inhalte von allen Ordnern messwerte_n, einschließlich
> versteckter Dateien, jedoch ohne die Ordner messwerte_n selbst zu löschen.

find -d /masterfolder -depth +1 | xargs rm -r

Wenn die Möglichkeit besteht, dass die Dateinamen Leer-
zeichen oder andere hässliche Dinge enthalten, dann bei
find den primary -print0 und bei xargs die Option -0
verwenden.

Das ganze hat übrigens wenig bis gar nichts mit der
Shell zu tun, sondern ist einfach nur eine Sache des
Zusammenspiels der beteiligten Tools (in diesem Fall
find, xargs und rm), und die sind in ihren jeweiligen
Manual-pages recht gut dokumentiert.

Shell-Wildcards ("*" usw.) sollte man in Skripten übri-
gens vermeiden, soweit es geht. Damit kann man sich
nämlich leichter in den Fuß schießen, als man meistens
vermutet. (Tatsächlich fangen viele meiner eigenen
Skripte mit »set -f« an, um Wildcards ganz auszuschal-
ten, damit gar nicht erst etwas passieren kann.)

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
It's trivial to make fun of Microsoft products,
but it takes a real man to make them work,
and a God to make them do anything useful.
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 04 Jun 2007 - 12:41:10 CEST

search this site