Saya memiliki satu set file yang ingin saya terapkan perintah yang sama dan output harus berisi nama yang sama dengan file yang diproses tetapi dengan ekstensi yang berbeda.
Saat ini saya sedang melakukan rename /my/data/Andrew.doc menjadi /my/data/Andrew.txt saya ingin melakukan ini untuk semua file .doc dari folder / my / data / dan untuk mempertahankan namanya.
Saya mencoba beberapa versi tetapi saya rasa ada sesuatu yang salah dalam sintaks ketika saya baru mengenal linux.
command-line
bash
Robert
sumber
sumber
Jawaban:
Setidaknya ada seratus ribu juta cara berbeda dalam mendekati hal ini, tetapi berikut adalah pesaing utama:
Bash untuk loop
Menggunakan
find
The
find
perintah memiliki kecil yang indahexec
perintah yang besar untuk menjalankan hal-hal (dengan beberapa peringatan). Cari lebih baik daripada globbing dasar karena Anda benar-benar dapat memfilter file yang Anda pilih. Hati-hati dengan sintaks aneh.Catatan yang
find
bersifat rekursif sehingga Anda mungkin ingin menggunakan-maxdepth 1
untuk tetapfind
dalam direktori kerja saat ini.-type f
dapat digunakan untuk memfilter file biasa.Jika kita hanya mengganti nama dokumen menjadi txt ...
The
rename
perintah sed-seperti dalam mencari. Jelas ini tidak akan melakukan apa pun untuk mengubah format.sumber
sumber