Ich muss Dateien, die älter als 1 Woche sind, in der Entwicklungseinheit suchen und löschen. Für dieses Gerät sind nur wenige Dienstprogramme verfügbar. -mtime
find
Das Prädikat ist nicht verfügbar. Wie überprüfe ich in diesem Fall alle Dateien, die älter als x Tage sind?
9
mtime
ist nicht verfügbar" meinen . Es ist kein Dienstprogramm, dessen Namen ich erkenne.FEATURE_FIND_MTIME
. IstFEATURE_FIND_NEWER
aktiviert? Funktioniert dasfind -newer
? Ist Ihrtest
Dienstprogramm oder der[
eingebautesh
Support-nt
?touch -d
date +%s
[ file -nt other-file ]
Antworten:
-mtime
ist ein Standardprädikat vonfind
(im Gegensatz zu-delete
), aber es sieht so aus, als hätten Sie eine abgespeckte Version vonbusybox
, bei der dieFEATURE_FIND_MTIME
Funktion zum Zeitpunkt der Erstellung deaktiviert wurde.Wenn Sie die Busybox mit aktiviertem Status neu erstellen können, sollten Sie in der Lage sein:
Oder wenn
FEATURE_FIND_DELETE
auch aktiviert ist:Wenn nicht, können andere Optionen für eine Datei verwendet werden
find -newer
(vorausgesetzt, sieFEATURE_FIND_NEWER
ist aktiviert), für die eine Änderungszeit von einer Woche festgelegt ist.Oder wenn
-newer
nicht vorhanden ist , abersh
‚s[
unterstützt-nt
:quelle
find . -mtime +6 -type f -exec rm {} \;
arbeitete für michVon
man find
:Abhängig von den Anwendungsfällen der Dateien, die Sie löschen möchten, sind dies Ihre einzigen anderen Optionen für
find
. Warum istmtime
nicht verfügbar? Welches Dateisystem verwenden Sie? Haben Sie andere Optionen untersucht?quelle