Czy szukasz komendy terminalowej, czy może wystarczyłoby coś takiego jak akcja automatyzacji?
Jerry W.
1
Co rozumiesz przez „czyje daty zostały dodane?” Dodano do czego i jak?
Allan
1
@ Allan Zaznacz „Widok> Rozmieść według” lub kolumny dostępne w „Opcjach widoku” w Finderze; OS X śledzi datę dodania elementu do folderu.
Mil
@Miles - te atrybuty nie są dostępne w bash, chyba że zainstalujesz narzędzia XCode Dev, a OP specjalnie użyje ~ / Downloads, co jest konwencją bash (lub bardziej ogólnie mówiąc, powłoką).
Allan
Odpowiedzi:
24
Jest to stosunkowo proste polecenie do usuwania plików w katalogu dłuższym niż rok. Na przykład następujące polecenie wykonane w terminalu
find ~/Downloads/ -type f -mtime +365 -exec rm {} \;
usunie wszystkie pliki w ~/Downloadskatalogu starsze niż rok.
find to polecenie, które wyszukuje „rzeczy”
-type fmówi znaleźć, czego szukać, w tym przypadku plików
-mtime +365 informuje, że zmodyfikowany czas powinien być dłuższy niż 365 dni
-exec rm {} przekazuje (wykonuje) każdy „znaleziony” element do polecenia rm
Lubię to przetestować, wykluczając -exec rm {} \;porcję i upewnić się, że otrzymuję prawidłowe wyniki. Kiedy jestem pewien, po prostu dodaję go, aby zakończyć usuwanie.
Jedno zastrzeżenie !! Te pliki nie są dodawane do „Kosza”. Polecenie omija Kosz i jest natychmiast usuwane, więc używaj go ostrożnie.
Bezpieczniejszy sposób ...
(Dzięki użytkownikowi lucasoldaini w komentarzach poniżej)
Jeśli chcesz przenieść swoje pliki do „Kosza”, po prostu zamień -exec rm {} \;część na-exec mv {} ~/.Trash \;
Pozostaną w twoim Koszu do następnego razu, gdy go opróżnisz.
Możesz uzyskać więcej informacji na temat każdego polecenia, przeglądając ich strony podręcznika:
Zamiast używać rm, możesz przenieść pliki, ~/.Trashaby zapobiec ich natychmiastowemu usunięciu.
lucasoldaini 24.04.16
2
Pamiętaj, że data modyfikacji (na której działa ta odpowiedź) różni się od daty dodania . Ponadto Safari ustawi datę modyfikacji pobranego pliku na datę podaną przez serwer, jeśli jest dostępna, więc nawet plik pobrany wczoraj może mieć datę modyfikacji większą niż rok.
Mil
2
Jeśli masz homebrew: brew zainstaluj trash, a zamiast tego rm użyj polecenia trash od teraz.
Kyslik,
Zaktualizowałem swoją odpowiedź na podstawie sugestii @lucasoldaini. Wolę używać metod wbudowanych niż homebrew lub MacPorts.
Allan,
1
Lubię twoje rozwiązanie bardziej niż moje.
Jerry W.,
10
Jeśli chcesz korzystać z Automatora, możesz zbudować takie działanie:
Znajdź elementy Findera - Wyszukaj pliki do pobrania - spełnione są wszystkie poniższe warunki: -Data utworzenia nie jest w ciągu ostatnich 365 dni.
Moim wyborem narzędzia jest Hazel , niedrogie, uniwersalne oprogramowanie, które robi rzeczy z plikami i folderami, gdy są one zgodne z określonymi przez ciebie regułami. Ta reguła przenosi pliki, które nie zostały dodane w zeszłym roku z folderu Hämtade filer . W odróżnia się od powyższego rozwiązania wiersza polecenia, ponieważ jest uruchamiane codziennie, więc jest to rozwiązanie gotowe i zapomnij.
To najlepsze rozwiązanie, ponieważ w rzeczywistości wykorzystuje datę dodaną, a nie datę modyfikacji, co może nie być takie samo. Rozwiązanie wiersza polecenia może wyglądać na kMDItemDateAddedw mdlsale bardzo polecam rozwiązanie Hazel zamiast.
Odpowiedzi:
Jest to stosunkowo proste polecenie do usuwania plików w katalogu dłuższym niż rok. Na przykład następujące polecenie wykonane w terminalu
find ~/Downloads/ -type f -mtime +365 -exec rm {} \;
usunie wszystkie pliki w
~/Downloads
katalogu starsze niż rok.find
to polecenie, które wyszukuje „rzeczy”-type f
mówi znaleźć, czego szukać, w tym przypadku plików-mtime +365
informuje, że zmodyfikowany czas powinien być dłuższy niż 365 dni-exec rm {}
przekazuje (wykonuje) każdy „znaleziony” element do poleceniarm
Lubię to przetestować, wykluczając
-exec rm {} \;
porcję i upewnić się, że otrzymuję prawidłowe wyniki. Kiedy jestem pewien, po prostu dodaję go, aby zakończyć usuwanie.Jedno zastrzeżenie !! Te pliki nie są dodawane do „Kosza”. Polecenie omija Kosz i jest natychmiast usuwane, więc używaj go ostrożnie.
Bezpieczniejszy sposób ...
(Dzięki użytkownikowi lucasoldaini w komentarzach poniżej)
Jeśli chcesz przenieść swoje pliki do „Kosza”, po prostu zamień
-exec rm {} \;
część na-exec mv {} ~/.Trash \;
Pozostaną w twoim Koszu do następnego razu, gdy go opróżnisz.
Możesz uzyskać więcej informacji na temat każdego polecenia, przeglądając ich strony podręcznika:
man find
man exec
źródło
rm
, możesz przenieść pliki,~/.Trash
aby zapobiec ich natychmiastowemu usunięciu.Jeśli chcesz korzystać z Automatora, możesz zbudować takie działanie:
Znajdź elementy Findera - Wyszukaj pliki do pobrania - spełnione są wszystkie poniższe warunki: -Data utworzenia nie jest w ciągu ostatnich 365 dni.
Zdobądź wybrane przedmioty Findera
Przenieś przedmioty Findera do Kosza
Wygodny zrzut ekranu:
źródło
Moim wyborem narzędzia jest Hazel , niedrogie, uniwersalne oprogramowanie, które robi rzeczy z plikami i folderami, gdy są one zgodne z określonymi przez ciebie regułami. Ta reguła przenosi pliki, które nie zostały dodane w zeszłym roku z folderu Hämtade filer . W odróżnia się od powyższego rozwiązania wiersza polecenia, ponieważ jest uruchamiane codziennie, więc jest to rozwiązanie gotowe i zapomnij.
źródło
kMDItemDateAdded
wmdls
ale bardzo polecam rozwiązanie Hazel zamiast.