Zum Inhalt springen

Linux Bash: Löschen mit Dateityp-Filter

Tux
Print Friendly, PDF & Email


Linux TuxPlatzhalter sind für das Kommando rm generell in Linux ein Problem. Muster mit Platzhaltern wie beispielsweise *.tmp werden stattdessen von der Shell interpretiert. Zwar kann der Befehl

rm *.tmp

find ./ -type f ! -iname „*.txt“ -deletedeshalb alle Dateien im aktuellen Ordner entfernen, die auf „.tmp“ enden, aber das Muster ist nicht umkehrbar, um bestimmte Dateitypen vom Löschen auszunehmen. Besser ist, das flexible Kommando „find“ für Suchmuster und Löschaktionen einzuspannen. Folgendes Kommando hilft, um mit find alle Dateien bis auf jene mit der Endung „.txt“ zu löschen:

find ./ -type f ! -iname "*.txt" -delete

Das vorangestellte Ausrufezeichen kehrt den nachfolgenden Suchbegriff um, der hier über den Dateinamensteil „*.txt“ angegeben ist.

Die Auswahl mehrerer Dateimasken ist ebenfalls möglich, macht die Syntax aber etwas komplexer: Mit dem Befehl

find ./ -type f ! \( -iname "*.ht ml" -o -iname "*.css" \) -delete

löschen Sie beispielsweise alles im gegenwärtigen Verzeichnis, ausgenommen die Dateien mit den Endungen „.html und „.css“.

Please wait...

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.


Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/lib/php8.0/extensions/imagick.so (/usr/lib/php8.0/extensions/imagick.so: cannot open shared object file: No such file or directory), /usr/lib/php8.0/extensions/imagick.so.so (/usr/lib/php8.0/extensions/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library 'php_imagick.dll' (tried: /usr/lib/php8.0/extensions/php_imagick.dll (/usr/lib/php8.0/extensions/php_imagick.dll: cannot open shared object file: No such file or directory), /usr/lib/php8.0/extensions/php_imagick.dll.so (/usr/lib/php8.0/extensions/php_imagick.dll.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0