Antworten:
Der Befehl GNU find
ist der richtige Weg. Um beispielsweise alle Dateien im aktuellen Verzeichnis zwischen dem 1. und 5. August zu löschen, können Sie den folgenden Befehl verwenden
find . -maxdepth 1 -type f -newermt 2011-08-01 ! -newermt 2011-08-06 -delete
Es ist besser, den Befehl ohne die -delete
Aktion auszuführen , um zuerst die Liste der interessierten Dateien anzuzeigen (ein guter Ersatz könnte sein -ls
, dass eine ls-ähnliche Liste erstellt wird).
Durch Entfernen der -maxdepth 1
Spezifikation werden auch alle Unterverzeichnisse durchlaufen.
Sie können beispielsweise auch Stunden angeben
find . -maxdepth 1 -type f -newermt '2011-08-01 10:01:59' \
! -newermt '2011-08-06 23:01:00' -delete
Seien Sie gewarnt, keine einfachen Anführungszeichen zu entfernen, die Leerzeichen zwischen Datum und Uhrzeit schützen.
Das Zeichen !
ist eine Negation, es sollte gelesen werden: neuer als dieses Datum, aber nicht neuer als dieses andere Datum.
!
ist ein nicht. In diesem Beispiel: Nicht neuer als der 06.08.2011.
-type f
.
-type f
, das vergesse ich. Das -delete
ist eine GNU-Erweiterung, denke ich.