Antworten:
Der Befehl GNU findist 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 -deleteAktion 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 1Spezifikation 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 -deleteist eine GNU-Erweiterung, denke ich.