Dalam komputasi, Batch pemrosesan adalah eksekusi serangkaian tugas dalam suatu program secara non-interaktif. Dalam panduan ini akan menawarkan 4 cara sederhana untuk mengonversi beberapa .PNG
gambar ke .JPG
dan sebaliknya menggunakan alat baris perintah Linux.
Kami akan menggunakan konversi alat baris perintah di semua contoh, namun, Anda juga dapat menggunakan mogrify untuk mencapai ini.
Sintaks untuk menggunakan convert adalah:
$ convert input-option input-file output-option output-file
Dan untuk mogrify adalah:
$ mogrify options input-file
Catatan :Dengan mogrify , file gambar asli diganti dengan file gambar baru secara default, tetapi hal ini dapat dicegah dengan menggunakan opsi tertentu yang dapat Anda temukan di halaman manual.
Di bawah ini adalah berbagai cara untuk mengonversi semua .PNG
Anda secara batch gambar ke .JPG
format, jika Anda ingin mengonversi .JPG
ke .PNG
, Anda dapat memodifikasi perintah sesuai kebutuhan Anda.
1. Konversi PNG ke JPG Menggunakan Perintah 'ls' dan 'xargs'
Perintah ls memungkinkan Anda untuk membuat daftar semua png gambar dan xargs memungkinkan untuk membangun dan menjalankan konversi perintah dari input standar untuk mengonversi semua .png
gambar ke .jpg
.
----------- Convert PNG to JPG ----------- $ ls -1 *.png | xargs -n 1 bash -c 'convert "$0" "${0%.png}.jpg"' ----------- Convert JPG to PNG ----------- $ ls -1 *.jpg | xargs -n 1 bash -c 'convert "$0" "${0%.jpg}.png"'
Penjelasan tentang opsi yang digunakan pada perintah di atas.
-1
– bendera memberitahu ls untuk membuat daftar satu gambar per baris.-n
– menentukan jumlah maksimum argumen, yaitu 1 untuk kasus ini.-c
– menginstruksikan bash untuk menjalankan perintah yang diberikan.${0%.png}.jpg
– menetapkan nama gambar yang baru dikonversi, % sign membantu menghapus ekstensi file lama.
Saya menggunakan ls -ltr
perintah untuk membuat daftar semua file menurut tanggal dan waktu yang dimodifikasi.
Demikian pula, Anda dapat menggunakan perintah di atas untuk mengonversi semua .jpg
. Anda gambar ke .png
dengan mengubah perintah di atas.
2. Konversi PNG ke JPG Menggunakan Perintah GNU 'Paralel'
GNU Paralel memungkinkan pengguna untuk membangun dan menjalankan perintah shell dari input standar secara paralel. Pastikan Anda telah menginstal GNU Parallel di sistem Anda, jika tidak, instal menggunakan perintah yang sesuai di bawah ini:
$ sudo apt-get install parallel [On Debian/Ubuntu systems] $ sudo yum install parallel [On RHEL/CentOS and Fedora]
Sekali Sejajar utilitas terinstal, Anda dapat menjalankan perintah berikut untuk mengonversi semua .png
gambar ke .jpg
format dari input standar.
----------- Convert PNG to JPG ----------- $ parallel convert '{}' '{.}.jpg' ::: *.png ----------- Convert JPG to PNG ----------- $ parallel convert '{}' '{.}.png' ::: *.jpg
Dimana,
{}
– baris input yang merupakan string pengganti diganti dengan baris lengkap yang dibaca dari sumber input.{.}
– masukan baris dikurangi ekstensi.:::
– menentukan sumber input, yaitu baris perintah untuk contoh di atas di mana *png atau *jpg adalah argumennya.
Atau, Anda juga dapat menggunakan ls dan paralel perintah bersama untuk mengonversi semua gambar Anda seperti yang ditunjukkan:
----------- Convert PNG to JPG ----------- $ ls -1 *.png | parallel convert '{}' '{.}.jpg' ----------- Convert JPG to PNG ----------- $ ls -1 *.jpg | parallel convert '{}' '{.}.png'
3. Konversi PNG ke JPG Menggunakan Perintah 'for loop'
Untuk menghindari kesibukan menulis skrip shell, Anda dapat menjalankan for loop
dari baris perintah sebagai berikut:
----------- Convert PNG to JPG ----------- $ bash -c 'for image in *.png; do convert "$image" "${image%.png}.jpg"; echo “image $image converted to ${image%.png}.jpg ”; done' ----------- Convert JPG to PNG ----------- $ bash -c 'for image in *.jpg; do convert "$image" "${image%.jpg}.png"; echo “image $image converted to ${image%.jpg}.png ”; done'
Deskripsi setiap opsi yang digunakan dalam perintah di atas:
- -c memungkinkan eksekusi pernyataan for loop dalam tanda kutip tunggal.
- Gambar variabel adalah penghitung jumlah gambar dalam direktori.
- Untuk setiap operasi konversi, perintah gema memberi tahu pengguna bahwa gambar png telah dikonversi menjadi jpg format dan sebaliknya pada baris $image dikonversi ke ${image%.png}.jpg ”.
- “${image%.png}.jpg” membuat nama gambar yang dikonversi, di mana % menghapus ekstensi format gambar lama.
4. Konversi PNG ke JPG Menggunakan Shell Script
Jika Anda tidak ingin membuat baris perintah Anda kotor seperti pada contoh sebelumnya, tulis skrip kecil seperti ini:
Catatan :Pertukaran .png
. dengan tepat dan .jpg
ekstensi seperti pada contoh di bawah ini untuk konversi dari satu format ke format lainnya.
#!/bin/bash #convert for image in *.png; do convert "$image" "${image%.png}.jpg" echo “image $image converted to ${image%.png}.jpg ” done exit 0
Simpan sebagai convert.sh
dan buat skrip tersebut dapat dieksekusi dan kemudian jalankan dari dalam direktori yang memiliki gambar Anda.
$ chmod +x convert.sh $ ./convert.sh
Singkatnya, kami membahas beberapa cara penting untuk mengonversi .png
gambar ke .jpg
format dan sebaliknya. Jika Anda ingin mengoptimalkan gambar, Anda dapat membaca panduan kami yang menunjukkan cara mengompresi gambar png dan jpg di Linux.
Anda juga dapat berbagi dengan kami metode lain apa pun termasuk alat baris perintah Linux untuk mengonversi gambar dari satu format ke format lain di terminal, atau mengajukan pertanyaan melalui bagian komentar di bawah.