In einem Script pflege ich Dateitypen (-extensions), die ich innerhalb eines Ordners löschen möchte. Das mache ich deswegen, weil eben nicht alle Dateien gelöscht werden sollen.

Irgendwie ist das aber lästig. Und wie ich feststellen konnte, auch komplett unsinnig. Es geht einfacher, denn die Anzahl der Dateitypen, die ich halten möchte, ist überschaubar und ändert sich in der Regel nicht. Daher:

Löschen aller Dateien, aber ohne das Muster!

Der einfachste Weg, um z.B. alle Dateien, außer *.jpg, zu löschen, ist folgender:

rm $(ls -I "*.jpg")

Zu beachten:
Die Option hinter dem ls ist das „große i“ für ignore.

Sofern mehrere Dateitypen ausgenommen werden sollen, müssen diese aufgelistet werden (mit jeweils vorangestellter Option -I):

rm $(ls -I "*.jpg" -I "*.jpeg" -I "*.png")

Wenn im Falle der Befehlsausführung in der Konsole einer der Dateitypen nicht vorhanden ist, kann er nicht von ls aufgelistet werden. Zudem, sofern in dem Ordner noch Unterordner vorhanden, können diese mit dem einfachen rm-Befehl nicht gelöscht werdne. Somit wird dann eine Standardfehlerausgabe erzeugt. In etwa so:

ls: Zugriff auf ‚*.jpeg‘ nicht möglich: Datei oder Verzeichnis nicht gefunden

oder

rm: das Entfernen von ‚archiv‘ ist nicht möglich: Ist ein Verzeichnis

Das ist nicht weiter schlimm, kann aber lästig sein. Die Standardfehlerausgabe kann man unterdrücken, indem man sie umleitet:

rm $(ls -I "*.jpg" -I "*.jpeg" -I "*.png") 2>/dev/null

Mit der Umleitung der Standardfehlerausgabe aber vorsichtig sein, denn andere Hinweise aus der Befehlsabarbeitung werden damit auch umgeleitet und sind nicht sichtbar, sofern man nicht noch andere Vorkehrungen getroffen hat.

Es gibt noch reichlich andere Möglichkeiten, beim Löschen von Dateien Ausnahmen zu setzen. Die von mir nun gewählte Variante ist für mich die einfachste, denn mit den Befehlen ls und rm gehe ich tagtäglich um. Diese sind mir deswegen insgesamt in ihrer Bedeutung wohl bekannt.

Verfasst von Bommo

Categories:

Schreibe einen Kommentar

Noch keine Reaktion

Neue Themen im Forum
Meldung, wenn NFS Share nicht err …Zitat von zebolon am 22. November 2024, 16:27 Uhr Hallo @linuxopa … Weiterlesen
Debian installieren - für Anfänge …Danke LinuxBiber, das hilft gut weiter. Wenn da aber für den De … Weiterlesen
Frage zu GrubDanke @juhu, das war für mich eine reine Verständnisfrage allge … Weiterlesen
Kategorien im Wiki
WIKI-Beiträge des Monates

Die Beiträge des Monates finden Sie im Kalender unter den blau markierten Tageszahlen.

August 2023
M D M D F S S
 123456
78910111213
14151617181920
21222324252627
28293031  
Archive