Apakah Anda secara khusus mencari perintah terminal, atau akankah tindakan otomatisasi cukup?
Jerry W.
1
Apa yang Anda maksud dengan "tanggal siapa yang ditambahkan?" Ditambahkan ke apa dan bagaimana?
Allan
1
@ Semua Periksa "Lihat> Atur Menurut" atau kolom yang tersedia di "Opsi Tampilan" di Finder; OS X melacak tanggal item ditambahkan ke folder.
Miles
@Miles - atribut tersebut tidak tersedia di bash kecuali Anda menginstal alat XCode Dev dan OP yang khusus digunakan ~ / Unduhan yang merupakan konvensi bash (atau lebih umum, shell).
Allan
Jawaban:
24
Ini adalah perintah yang relatif sederhana untuk menghapus file dalam direktori yang lebih dari satu tahun. Misalnya, perintah berikut dijalankan di Terminal
find ~/Downloads/ -type f -mtime +365 -exec rm {} \;
akan menghapus semua file dalam ~/Downloadsdirektori yang lebih lama dari satu tahun.
find adalah perintah yang mencari "barang"
-type fmemberitahu menemukan apa yang harus dicari, dalam hal ini file
-mtime +365 memberitahu menemukan bahwa waktu yang diubah harus lebih besar dari 365 hari
-exec rm {} melewati (mengeksekusi) setiap item "ditemukan" ke perintah rm
Yang ingin saya lakukan adalah mengujinya dengan mengecualikan -exec rm {} \;bagian dan memastikan saya mendapatkan hasil yang benar. Setelah saya yakin, saya hanya menambahkannya untuk menyelesaikan penghapusan.
Satu Peringatan !! File-file ini tidak ditambahkan ke "Sampah." Perintah memotong Sampah dan segera dihapus, jadi gunakan dengan hati-hati.
Cara yang Lebih Aman ...
(Terima kasih kepada pengguna lucasoldaini di komentar di bawah)
Jika Anda ingin memindahkan file Anda ke "Trash", cukup ganti -exec rm {} \;porsinya-exec mv {} ~/.Trash \;
Mereka akan tetap di Sampah Anda sampai nanti Anda mengosongkannya.
Anda dapat memperoleh informasi lebih lanjut tentang setiap perintah dengan melihat halaman manual mereka:
Alih-alih menggunakan rm, Anda bisa memindahkan file ke ~/.Trashuntuk mencegah mereka agar segera dihapus.
lucasoldaini
2
Perhatikan bahwa tanggal yang diubah (tempat jawaban ini beroperasi) berbeda dari tanggal yang ditambahkan . Selanjutnya, Safari akan menetapkan tanggal modifikasi dari file yang diunduh ke yang disediakan oleh server jika tersedia, sehingga bahkan file yang diunduh kemarin dapat memiliki tanggal modifikasi lebih dari satu tahun.
Miles
2
Jika Anda memiliki homebrew: brew instal trash dan alih-alih rm gunakan perintah trash mulai sekarang.
Kyslik
Saya memperbarui jawaban saya berdasarkan saran dari @lucasoldaini. Saya lebih suka menggunakan metode bawaan daripada menggunakan homebrew atau MacPorts.
Allan
1
Saya suka solusi Anda lebih dari solusi saya.
Jerry W.
10
Jika Anda ingin menggunakan Automator, Anda dapat membuat tindakan seperti:
Temukan Item Pencari - Cari Unduhan - Semua yang berikut ini benar: -Tanggal Diciptakan tidak dalam 365 hari terakhir.
Alat pilihan saya adalah Hazel , perangkat lunak multiguna dengan biaya rendah yang melakukan banyak hal pada file dan folder saat mereka cocok dengan aturan tertentu yang Anda buat. Aturan ini akan memindahkan file yang tidak ditambahkan tahun lalu dari folder Hämtade filer . Dalam berbeda dari solusi baris perintah di atas karena berjalan setiap hari, jadi itu satu set dan lupakan solusi.
Ini adalah solusi terbaik, karena sebenarnya menggunakan Date Added daripada Date Modified, yang mungkin tidak sama. Sebuah solusi baris perintah bisa mencari kMDItemDateAddeddi mdlstetapi saya sangat merekomendasikan solusi Hazel gantinya.
Jawaban:
Ini adalah perintah yang relatif sederhana untuk menghapus file dalam direktori yang lebih dari satu tahun. Misalnya, perintah berikut dijalankan di Terminal
find ~/Downloads/ -type f -mtime +365 -exec rm {} \;
akan menghapus semua file dalam
~/Downloads
direktori yang lebih lama dari satu tahun.find
adalah perintah yang mencari "barang"-type f
memberitahu menemukan apa yang harus dicari, dalam hal ini file-mtime +365
memberitahu menemukan bahwa waktu yang diubah harus lebih besar dari 365 hari-exec rm {}
melewati (mengeksekusi) setiap item "ditemukan" ke perintahrm
Yang ingin saya lakukan adalah mengujinya dengan mengecualikan
-exec rm {} \;
bagian dan memastikan saya mendapatkan hasil yang benar. Setelah saya yakin, saya hanya menambahkannya untuk menyelesaikan penghapusan.Satu Peringatan !! File-file ini tidak ditambahkan ke "Sampah." Perintah memotong Sampah dan segera dihapus, jadi gunakan dengan hati-hati.
Cara yang Lebih Aman ...
(Terima kasih kepada pengguna lucasoldaini di komentar di bawah)
Jika Anda ingin memindahkan file Anda ke "Trash", cukup ganti
-exec rm {} \;
porsinya-exec mv {} ~/.Trash \;
Mereka akan tetap di Sampah Anda sampai nanti Anda mengosongkannya.
Anda dapat memperoleh informasi lebih lanjut tentang setiap perintah dengan melihat halaman manual mereka:
man find
man exec
sumber
rm
, Anda bisa memindahkan file ke~/.Trash
untuk mencegah mereka agar segera dihapus.Jika Anda ingin menggunakan Automator, Anda dapat membuat tindakan seperti:
Temukan Item Pencari - Cari Unduhan - Semua yang berikut ini benar: -Tanggal Diciptakan tidak dalam 365 hari terakhir.
Dapatkan Item Finder yang Dipilih
Pindahkan Item Finder ke Sampah
Tangkapan Layar Nyaman:
sumber
Alat pilihan saya adalah Hazel , perangkat lunak multiguna dengan biaya rendah yang melakukan banyak hal pada file dan folder saat mereka cocok dengan aturan tertentu yang Anda buat. Aturan ini akan memindahkan file yang tidak ditambahkan tahun lalu dari folder Hämtade filer . Dalam berbeda dari solusi baris perintah di atas karena berjalan setiap hari, jadi itu satu set dan lupakan solusi.
sumber
kMDItemDateAdded
dimdls
tetapi saya sangat merekomendasikan solusi Hazel gantinya.