Saya memiliki folder besar buku audio .m4b yang dalam format saat ini tidak dapat diputar di ponsel Android saya. Namun mereka berfungsi dengan baik jika diubah namanya menjadi .m4a
Apakah ada metode cepat atau perintah terminal yang dapat mengganti nama setiap file .m4b dalam folder menjadi .m4a? Tidak perlu konversi file, cukup mengubah nama ekstensi file berfungsi dengan baik.
command-line
nautilus
file-format
coversnail
sumber
sumber
rename
adalah skrip PERL dan menerima ekspresi reguler. Sistem Debian juga memilikirename.ul
perintah sebagai bagian dariutil-linux-ng package
. Jika perl tidak diinstal (ok, sangat tidak mungkin;))rename
juga tidak.Jawaban:
Ini akan melakukan pekerjaan untuk Anda.
rename 's/.m4b$/.m4a/' *.m4b
Untuk percobaan Anda dapat menggunakan perintah ini:
rename 's/.m4b$/.m4a/' *.m4b -vn
-v
berarti "verbose" dan itu akan menampilkan nama-nama file ketika mengganti nama mereka.-n
akan melakukan uji coba di mana itu tidak akan mengubah nama file, Tapi akan menunjukkan kepada Anda daftar file yang akan diganti namanya.sumber
Cara yang sangat cepat untuk mengganti nama file, jika hanya itu yang perlu Anda lakukan, dan tidak perlu mengonversinya ke format lain, adalah dengan menggunakan ekspansi parameter Bash, yang dirinci dengan sangat baik di wiki Bash .
Ada beberapa cara berbeda untuk mengubah ekstensi, tetapi saya menggunakan
${var/original/replacement}
paradigma sederhana di sini :Jika Anda ingin melihat apa yang akan diubah oleh perintah, tempatkan
echo
sebelumnyamv
dan perubahannya akan terdaftar.Tentunya oneliner ini dapat dimodifikasi untuk file lain juga, dan Anda juga dapat menggunakan ekspansi parameter untuk menghapus ekstensi file juga.
sumber
*.m4b
. Kalau tidak, Anda akan menemukan kesalahanargument list too long
.for file in *.m4b; do mv -v -- "${file}" "${file/%m4b/m4a}"; done