Wie verwende ich „rm“, um Dateien mit einem „:“ zu entfernen?

Wie verwende ich „rm“, um Dateien mit einem „:“ zu entfernen?

Ich verwende Ubuntu 10.04 und habe ein Verzeichnis mit einer Reihe von Dateien. Wir haben vor einiger Zeit das Benennungsschema der Dateien geändert und jetzt möchte ich alle alten löschen.

Neues Namensschema: December_12_2010.zip

Altes Namensschema: December_11_2010_17:54:18_map.zip

Ich habe mir reguläre Ausdrücke angesehen und möchte wissen, wie man sie verwendet, aber ich bin nicht dahintergekommen. Meine begrenzten Kenntnisse reichten nicht aus, um die richtige Kombination zu finden. Ich sah das „:“ und dachte, die beste Methode zum Löschen der Dateien wäre, „Alle Dateien löschen, die ein „:“ enthalten“, aber ohne Erfolg. Ich wäre für eine Anleitung dankbar!

Antwort1

Versuchen Sie es mit rm *:*. Bei mir funktioniert es auf jeden Fall. Wenn es bei Ihnen nicht funktioniert, wäre es hilfreich, wenn Sie die Details der Fehlermeldung angeben würden.

Es wäre auch möglich, die Dateien umzubenennen, wenn es nur eine pro Tag gibt. Das zu automatisieren wäre keine große Herausforderung.

Antwort2

Wenn die DateienWirklicheine Menge, die Sie findstattdessen verwenden sollten:

find -name '*:*' -delete

Antwort3

Wenn Sie nach einem regulären Ausdruck suchen, sollte dies funktionieren: -

find . -regex '.*/*[0-9][0-9]:[0-9][0-9]:[0-9][0-9]*' -exec rm -fv '{}' \;

verwandte Informationen