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 find
stattdessen 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 '{}' \;