Czy istnieje polecenie usunięcia wszystkich plików w katalogu, który nie został zmodyfikowany w ciągu N dni? Muszę wyczyścić stare dzienniki.
16
Spowoduje to usunięcie wszystkich plików starszych niż 5 dni, możesz też umieścić -name '*log'
tam plik, aby być bardziej precyzyjnym, i możesz też podać maxdepth
polecenie find.
find /some/dir -type f -mtime +5 -delete
-ls
zamiast-delete
mieć pewność, że nie usunie niczego, co chcieliby zachować. Tak, mówiąc z doświadczenia tutaj./ some/dir/
wersję. :(Z kwalifikatorami
zsh
i(.m+n)
glob :.
wybiera tylko zwykłe pliki,m+n
wybiera pliki zmodyfikowane ponad n dni temu;np. wyświetl listę plików w bieżącym katalogu, które zostały zmodyfikowane ponad 9 dni temu:
dodaj,
D
aby dołączyć pliki kropek:lub jeśli chcesz powtórzyć (i np. wymienić tylko pliki kończące się na
.log
):wymienić
print -rl
zerm
jeśli jesteś zadowolony z wyniku; chociaż możesz użyć,zargs
jeśli masz wiele plików (aby uniknąć zbyt długiej listy argumentów ):źródło