Cover Image

Finden und gefunden

Dezember 7, 2023 - Lesezeit: 2 Minuten

Wenn man Dateien sucht, ist das gerade, wenn Dateien vom System erstellt werden, immer etwas mühselig. Das wird sogar noch schlimmer, wenn man die dann löschen will. Unter Linux, wo auch sonst, gibt es einen tollen Befehl, der einem die Arbeit deutlich erleichtert:

find

Mithilfe von find kann man einfach Dateien anhand eines Filter finden und dann sogar direkt löschen. Das kann zum Beispiel so aussehen:

find -name "*.cs" -type f

Hier suche ich alle cs Dateien im aktuellen Ordner. Ich schränke auch auf Dateien ein (-type f)

find -not -name "*.cs" -type f

Hier suche ich nach allen Dateien, die keine cs Dateien sind. So einfach.

find ./ -not -name "*.cs" -type f

Durch den verweis auf einen Pfad geben ich an ob auch Unterordner durchsucht werden sollen. Und das Ganze kann ich jetzt sogar noch kombinieren:

find ./ -name "*.*_*" -not -name "*.cs" -type f

Und wenn ich mir dann habe ausgeben lassen, was die Suche so ergibt, kann ich, entsprechende Rechte vorausgesetzt, das Ganze direkt löschen:

find ./ -name "*.*_*" -not -name "*.cs" -type f -delete

Aber aufpassen, der fragt nicht nochmal nach.

Gibt's das auch für nativ Windows? Bestimmt, aber da würde ich es wahrscheinlich lieber selber schreiben...