GNU/Linux >> Belajar Linux >  >> Linux

Konversi gambar Webp ke PNG dengan perintah Linux

Cara mengonversi gambar .webp ke .png di Linux

Diuji pada Linux Ubuntu 20.04

Pertanyaan ini adalah hit teratas untuk pencarian Google "linux convert .webp image to png". Oleh karena itu, bagi siapa pun yang tersandung di sini dan hanya menginginkan jawaban sederhana itu, ini dia:

# 1. Install the `webp` tool
sudo apt update
sudo apt install webp

# 2. Use it: convert in.webp to out.png
dwebp in.webp -o out.png

Selesai! Anda sekarang memiliki out.png .

Referensi

  1. Saya belajar tentang dwebp dari pertanyaan itu sendiri

Jika Anda memiliki banyak konversi/ganti nama, saya sarankan Anda menggunakan GNU Paralel dan tidak hanya mengonversinya lebih cepat dengan melakukannya secara paralel, tetapi juga memanfaatkan kemampuan untuk mengubah nama file.

Perintah yang Anda inginkan adalah:

parallel dwebp {} -o {.}.png ::: *.jpg

di mana {.} berarti "nama file tanpa ekstensi asli" .

Jika Anda juga ingin mengulang ke subdirektori, Anda dapat menggunakan:

find . -name "*.jpg" -print0 | parallel -0 dwebp {} -o {.}.png

Jika Anda menginginkan pengukur kemajuan, atau "perkiraan waktu kedatangan" , Anda dapat menambahkan --progress atau --eta setelah parallel perintah.

Jika Anda ingin melihat apa GNU Paralel akan berjalan, tanpa benar-benar menjalankan apapun, tambahkan --dry-run .

Saya merekomendasikan GNU Paralel untuk Anda di zaman ini di mana CPU semakin "lebih gemuk" (lebih banyak inti) daripada lebih cepat.


Saya melakukannya dengan oneliner pendek yang tidak memerlukan parallel untuk dipasang di sistem

for x in `ls -1 *.jpg`; do dwebp {} -o ${x%.*}.png ::: $x; done

Dan ini berfungsi untuk direktori saat ini

Saya akan mencoba mengubah solusi rekursif @mark-setcell sehingga akan terlihat seperti ini:

for x in `find . -name "*.jpg"`; do dwebp {} -o ${x%.*}.png ::: $x; done

${x%.*} bagian yang membutuhkan penjelasan di sini - ini memberitahu bash untuk mengambil . dan semuanya setelah titik dari x variabel. Ini cenderung berperilaku buruk untuk nama dengan lebih banyak titik karena saya tidak memeriksa apakah regex di sini malas atau serakah - oleh karena itu jawabannya dapat disetel lebih lanjut.


Linux
  1. Perintah mv Linux

  2. Linux du perintah

  3. Perintah ip Linux

  1. Perintah cd Linux

  2. Bagaimana cara menggabungkan gambar di baris perintah?

  3. Konversi batch PNG ke JPG di linux

  1. 6 metakarakter Linux yang saya suka gunakan di baris perintah

  2. Perintah ifconfig Linux

  3. Perintah Waktu Linux