Saya punya file seperti file.log.1.gz
, file.log.2.gz
, ... file.log.100.gz
. Saya ingin memiliki satu lingkaran dari 1
untuk 100
untuk menghapus file-file ini. Bagaimana ini bisa dilakukan?
Saya mencoba perintah ini di Linux:
for i in $(seq 1 100); do rm -rf file.log.$i.gz
Apa yang terjadi ketika Anda mencoba perintah itu?
—
David Z
Haruskah saya menyalin perintah itu, tempel ke terminal dan jalankan .... hmm ... berpikir .... tidak, terima kasih, rm adalah perintah iblis: pastikan Anda yakin apa yang akan dilakukan ...
—
Solar Mike
Mengapa tidak menghapus folder yang menyimpan file-file itu lalu menggantinya? Berhasil memperlakukan untuk menghapus 180000 file di beberapa folder di masa lalu ....
—
Solar Mike
Karena saya memerlukan folder itu, saya punya 50+ file di sana yang saya butuhkan, jadi saya tidak bisa menghapusnya. Perintah yang saya gunakan adalah dalam bash dan tidak melakukan apa-apa, meskipun saya tahu bahwa: untuk saya dalam $ (seq 1 100), adalah loop dalam bash
—
Asa
Sementara solusi seq Anda akan melakukan ini, jika itu untuk pemeliharaan file log, dan Anda ingin menyingkirkan log lama Anda dapat menjalankan sesuatu seperti 'find / path / to / dir -type f-waktu + XXX -exec rm {} + `di mana XXX adalah jumlah hari yang ingin Anda pertahankan. Anda mungkin ingin mengganti rm dengan echo pada putaran pertama untuk mengecek apa yang Anda inginkan. Anda dapat menambahkan file ini untuk berjalan secara berkala di cron untuk secara otomatis melakukan ini.
—
davidgo