Bestimmte files per befehl l�schen

Till Kroeger t.kroeger at sk-multimedia.com
Mon Feb 12 22:40:41 CET 2001


Vielleicht ist da ja irgendwo ein schreibfehler drin. Ach da iss ja schon.
Hinter dem swf fehlen die Hochkommatas vor dem backqoute.
klar kann ich erklären was da passiert. Das ist eine einfache Kommando Pipeline ( ich glaub
das wird so genannt). Das ist eine folge von verschachtelten einfachen
Kommandos die die Ausgabe jeweils einem anderen Kommando übergeben. Das
gescheit mit dem zeichen | .  Beispiel:

Das Kommando 
ls -l
listet alle dateien und verzeichnisse auf. Jeweils in einer neuen Zeile.

das Kommando 
wc -l text.txt
zählt die anzahl der Zeilen in der Datei text.txt

wenn man in der Konsole jetzt
ls -l | wc -l 
eingibt dann wird erst das Kommando ls -l ausgeführt und die Ausgabe an das
Kommando wc -l weitergeleitet. Das zählt die Anzahl der Zeilen die ls -l
ausgegeben hätte.

das heißt 
find /pfad/ | grep -ive ".jpg"
sucht erst alle dateien rekursiv aus einem verzeichnis (mit
unterverzeichnissen) herraus. Die Ausgabe wird an Grep übergeben und dort
werden alle Einträge rausgefiltert die nicht .jpg als Endung haben (für das
"nicht" sorgt der parameter v. Zusätzlich wird groß und kleinschreibung
ignoriert (parameter i). ALso erscheint als endgültige Ausgabe alle dateien
außer die mit jpg Endung. 
Das diese Kommandos in backquotes stehen heißt sie werden als erstes
ausgeführt und die Ausgabe dieser beiden Kommandos wird an rm übergeben. Es
werden also schonmal alle gelöscht die falsche Endung haben. Am ende steht
nochmal so ein Kommando in backquotes. Diesmal ein normaler find befehl der
aus den noch übriggebliebenen Dateien nochmal die mit TN und tn raussucht. Das
wird wiederrum an das rm Kommando rangehängt und sie werden auch gelöscht.
Warum es nicht funktioniert kann ich jetzt auch nicht direkt sagen. Wass aber
auf jeden fall laufen sollte ist wenn du erst 
rm  `find /pfad/ | grep -ive ".jpg" -ive ".gif" -ive ".swf"`
und dann 
rm `find /pfad/ -name "tn*" -o -name "TN*"`
einzeln laufen läßt. 

ich hoffe ich konnte helfen

t.kroeger




More information about the Linux mailing list