Saya memiliki banyak file bernama
sequence_1_0001.jpg
sequence_1_0002.jpg
sequence_1_0003.jpg
...
dan file bernama
sequence_1_0001.hmf
sequence_1_0002.hmf
sequence_1_0003.hmf
...
dan file bernama
sequence_2_0001.jpg
sequence_2_0002.jpg
sequence_2_0003.jpg
...
dan
sequence_2_0001.hmf
sequence_2_0002.hmf
sequence_2_0003.hmf
...
Saya hanya ingin menghapus file yang dimulai dengan 'sequence_1' dan diakhiri dengan '.hmf', tetapi saya tidak ingin menghapusnya satu per satu, karena ada ribuan file. Bagaimana saya bisa menentukan perintah rm yang ingin saya hapus semua yang dimulai dengan prefilx 'sequence_1' dan diakhiri dengan '.hmf'?
Saat ini saya sedang bekerja dengan sistem RedHat Linux, tetapi saya ingin tahu bagaimana melakukannya pada distribusi lain juga.
find
pendekatannya menjadi lebih mudah daripada menebak dan memeriksa.Meskipun jawaban jw013 adalah benar wrt globbing, perintah itu mungkin gagal jika Anda memiliki ribuan kecocokan: baris perintah diperluas yang
rm sequence_1_0001.hmf sequence_1_0002.hmf ...
dihasilkan oleh shell mungkin terlalu besar.Seperti yang disarankan Dom, Anda juga dapat menggunakan
-delete
opsi denganfind
:Baik
-maxdepth
dan-delete
, sementara tidak dalam standar POSIX cukup umum dalamfind
implementasi di alam liar. Distribusi Linux umumnya menggunakan GNUfind
, yang tentunya mendukung opsi-opsi itu.sumber
-delete
harus didukung pada sistem GNU dan BSD baru-baru ini, sedangkan-print0
hanya GNU. Jadi sepertinya lebih portabel juga (meskipun seharusnya tidak membuat perbedaan untuk OP).akan bekerja juga di Bash.
sumber
bash
, dan bentuk nol empuk perlu versi 4, saya percaya.