Seperti dalam topik: Saya ingin menghapus file dalam direktori yang telah dimodifikasi dalam rentang tanggal tertentu. Bagaimana saya bisa melakukan ini?
sumber
Seperti dalam topik: Saya ingin menghapus file dalam direktori yang telah dimodifikasi dalam rentang tanggal tertentu. Bagaimana saya bisa melakukan ini?
Perintah GNU find
adalah cara untuk pergi. Misalnya, untuk menghapus semua file dalam direktori saat ini antara 1 dan 5 Agustus, Anda dapat menggunakan perintah berikut
find . -maxdepth 1 -type f -newermt 2011-08-01 ! -newermt 2011-08-06 -delete
Lebih baik untuk mengeksekusi perintah tanpa -delete
tindakan, pertama, untuk melihat daftar file yang tertarik (pengganti yang baik bisa -ls
yang menghasilkan daftar ls-like).
Menghapus -maxdepth 1
spesifikasi akan melintasi semua subdirektori juga.
Anda juga dapat menentukan jam, misalnya
find . -maxdepth 1 -type f -newermt '2011-08-01 10:01:59' \
! -newermt '2011-08-06 23:01:00' -delete
Diperingatkan untuk tidak menghapus tanda kutip tunggal, yang melindungi spasi antara tanggal dan waktu.
Karakter !
adalah negasi, harus dibaca: lebih baru dari tanggal ini tetapi tidak lebih baru dari tanggal lainnya.
!
bukan. Dalam contoh ini: Tidak lebih baru dari 2011-08-06.-type f
.-type f
, saya lupa itu. Itu-delete
adalah ekstensi GNU, saya pikir.