Muszę znaleźć i usunąć pliki starsze niż 1 tydzień w jednostce programistycznej. W tym urządzeniu dostępnych jest kilka narzędzi. -mtime
find
Predykat nie jest dostępny. Jak w tym przypadku sprawdzić wszystkie pliki starsze niż x dni?
9
mtime
nie jest dostępny”. To nie jest narzędzie, którego nazwę rozpoznaję.FEATURE_FIND_MTIME
. JestFEATURE_FIND_NEWER
włączony? Czyfind -newer
działa Czy twojetest
narzędzie lub[
wbudowanesh
wsparcie-nt
?touch -d
/date +%s
i[ file -nt other-file ]
Odpowiedzi:
-mtime
jest standardowym predykatemfind
(w przeciwieństwie do-delete
), ale wygląda na to, że masz uproszczoną wersjębusybox
, w którejFEATURE_FIND_MTIME
funkcja została wyłączona w czasie kompilacji.Jeśli możesz odbudować busybox z włączoną funkcją, powinieneś być w stanie:
Lub jeśli
FEATURE_FIND_DELETE
jest również włączony:Jeśli nie, można użyć innych opcji
find -newer
(zakładając, żeFEATURE_FIND_NEWER
jest włączony) dla pliku, który ma tygodniowy czas modyfikacji.Lub jeśli
-newer
nie jest dostępny, alesh
„s[
podpór-nt
:źródło
find . -mtime +6 -type f -exec rm {} \;
pracował dla mnieOd
man find
:W zależności od przypadków użycia plików, które chcesz usunąć, są to jedyne inne opcje
find
. Dlaczegomtime
nie jest dostępny? Z jakiego systemu plików korzystasz? Czy zbadałeś jakieś inne opcje?źródło