Apakah ada perintah untuk menghapus semua file dalam direktori yang belum dimodifikasi dalam N hari? Saya perlu membersihkan beberapa log lama.
16
Ini akan menghapus semua file yang lebih lama dari 5 hari, Anda dapat meletakkannya -name '*log'
di sana juga untuk menjadi lebih tepat dan Anda mungkin ingin menentukan maxdepth
dalam perintah find juga.
find /some/dir -type f -mtime +5 -delete
-ls
alih - alih-delete
memastikan ini tidak akan menghapus apa pun yang mereka inginkan disimpan. Ya, berbicara dari pengalaman di sini./ some/dir/
versi. :(Dengan
zsh
dan(.m+n)
kualifikasi global :.
hanya memilih file biasa,m+n
memilih file yang dimodifikasi lebih dari n hari yang lalu;mis. daftar file dalam direktori saat ini yang telah dimodifikasi lebih dari 9 hari yang lalu:
tambahkan
D
untuk memasukkan file dot:atau jika Anda ingin berulang (dan daftar misalnya hanya file yang diakhiri dengan
.log
):ganti
print -rl
denganrm
jika Anda senang dengan hasilnya; meskipun Anda mungkin harus menggunakanzargs
jika Anda memiliki banyak file (untuk menghindari daftar argumen terlalu lama ):sumber