Cara Mengubah Ekstensi File File melalui Command Line di Mac OS

Pengguna baris perintah dapat membantu mengubah dan mengganti nama ekstensi file dari sekelompok file dalam direktori. Sebagai contoh, katakanlah Anda memiliki batch file dengan ekstensi file ".txt" tetapi Anda ingin agar semua ekstensi file tersebut menjadi ".py" sebagai gantinya. Itulah yang akan kami tunjukkan di sini dengan mengandalkan bash scripting sederhana untuk mengubah sekelompok ekstensi file pada baris perintah Mac OS / OS X, tetapi ini juga akan bekerja di linux dan varian unix lainnya juga.


Sebelum memulai, sadari ini bukan mengubah jenis file, itu hanya mengubah ekstensi file. Selain itu, pendekatan penelusuran ini sengaja menggunakan baris perintah dan dengan demikian ditujukan untuk pengguna yang lebih mahir. Namun, Terminal bukan satu-satunya cara untuk melakukan ini, dan jadi jika ini terlalu maju atau tidak relevan dengan keahlian pengguna Anda maka ingat bahwa Mac OS menawarkan alat sederhana untuk kedua file batch rename di Mac OS dan perubahan ekstensi file batch di Finder juga, keduanya tidak membutuhkan baris perintah sama sekali. BAIK? Baiklah pada pendekatan baris perintah menggunakan skrip bash satu baris sederhana.

By the way Anda harus selalu membuat salinan dan / atau cadangan file yang Anda modifikasi, terutama jika Anda baru ke baris perintah. Kegagalan untuk melakukan hal itu dapat mengakibatkan kehilangan data, Terminal tidak memaafkan kesalahan ketik atau kesalahan, jadi jangan lewati cadangan Anda.

Bagaimana Mengganti Semua Ekstensi File dalam Direktori melalui Command Line

Mari kita ambil beberapa contoh. Pada contoh pertama, kita akan mengubah semua file di direktori kerja saat ini dengan ekstensi ".txt" dan mengubahnya menjadi ".py". Dengan asumsi Anda berada di direktori di mana Anda ingin mengubah semua file di direktori saat ini ke ekstensi file baru, di sini adalah sintaks untuk digunakan:

for file in *.txt; do mv "$file" "${file%.txt}.py"; done

Catatan ini menggunakan wildcard * yang berarti apa saja dan semua yang ada di direktori saat ini yang cocok dengan ekstensi file "* .txt" akan diubah. Juga perhatikan beberapa contoh "txt" dan satu contoh "py" yang keduanya ingin Anda ubah agar sesuai dengan kebutuhan Anda.

Semua ini lakukan adalah membuat loop sederhana di mana file yang cocok dengan wildcard dan ekstensi file awal ditemukan, dan kemudian melakukan perintah "mv" untuk memindahkan (mengubah nama) file-file dari ekstensi file awal ke penggantian. Sangat sederhana, bukan?

Mari kita ambil contoh lain, katakanlah kita memiliki kumpulan file gambar di direktori saat ini dengan nama file seperti "blahblah.jpg.JPEG" tetapi kita benar-benar hanya ingin mereka semua memiliki nama file yang sama dari yang kurang mubazir dan lebih mudah dibaca "Blazblah.jpeg". Dalam hal ini, sintaksnya akan terlihat seperti berikut:

for file in *.jpg.JPEG; do mv "$file" "${file%.jpg.JPEG}.jpeg"; done

Pendekatan baris perintah untuk mengubah ekstensi file cukup cepat dan ekstensi file akan diubah dengan cepat, tanpa dialog atau konfirmasi peringatan.

Dan untuk mengulangi sekali lagi, ini bukan untuk mengonversi jenis file apa pun atau mengubah apa pun kecuali nama ekstensi file.

Tahu cara yang lebih baik untuk mengubah sekelompok ekstensi file dari file dalam direktori melalui baris perintah? Hanya ingin menelusuri beberapa tips baris perintah besar lainnya (buka di sini)? Beri tahu kami pendapat Anda di komentar!