Schéine gudde Moien,

das ist mit "find" in der Qsh ganz einfach :

find /mein/verzeichnis -name *.tmp -exec rm {} \;

Kleine Erläuterung :

"find" dient zur Suche nach Dateien/Verzeichnissen unter Angabe verschiedenster Suchkriterien.

Das erste Argument (in diesem Beispiel "/mein/verzeichnis") ist der Name des Verzeichnisses, innerhalb dessen rekursiv(!) gesucht werden soll. Rekursiv bedeutet also, dass alle Unterverzeichnisse durchsucht werden.

Der Parameter "-name" gefolgt von einer Suchmaske ("*.tmp") gibt an, dass nach Dateien/Verzeichnissen mit einem bestimmten Namensmuster gesucht werden soll. Zusätzlich könnte man, will man nur Dateien und keine (Unter)Verzeichnisse löschen, noch den Parameter "-type f" (=directory) angeben, somit würden nur reguläre Dateien gefunden/ausgewählt.

James Last but not least kann man das Argument "-exec" dazu benutzen, beliebige Befehle auf jedes einzelne Suchergebnis (also jede einzelne "*.tmp" Datei in obigem Beispiel) loszulassen. Der "rm" (remove) Befehl löscht die Datei ganz einfach. Das im ersten Moment etwas komisch anmutende "{}" dahinter wird vom "find" Kommando zur Ausführungszeit durch den gefundenen Dateinamen ersetzt und das "\;" schliesst die Kommandosequenz ab, so dass "find" weiss, wo/wann Schluss ist. Man kann nämlich beliebig viele Kommandos durch Semikolons separiert aufeinander folgen lassen.

Grüsse und erfolgreiches Putzen

-Martin