PNG'nizi JPG'ye ve JPG'ye Toplu Dönüştürmenin 4 Yolu
Bilgi işlemde Toplu işleme, bir programdaki bir dizi görevin etkileşimli olmayan bir şekilde yürütülmesidir. Bu kılavuzda, Linux komut satırı araçlarını kullanarak birkaç .PNG
görüntüsünü toplu olarak .JPG
biçimine (veya tam tersi) dönüştürmenin 4 basit yolunu sunacağız.
Tüm örneklerde convert komut satırı aracını kullanacağız ancak siz bunu başarmak için mogrify'dan da yararlanabilirsiniz.
Convert kullanımının sözdizimi şöyledir:
convert input-option input-file output-option output-file
Ve mogrify için:
mogrify options input-file
Not: mogrify ile varsayılan olarak orijinal resim dosyası yeni resim dosyasıyla değiştirilir ancak bunu şu şekilde önlemek mümkündür: man sayfasında bulabileceğiniz belirli seçenekleri kullanarak.
.JPG
dosyasını biçimine dönüştürmek istiyorsanız, tüm
ile komutları ihtiyaçlarınıza göre değiştirebilirsiniz..PNG
görsellerinizi toplu olarak .JPG
biçimine dönüştürmenin çeşitli yolları aşağıda verilmiştir. .PNG
1. 'ls' ve 'xargs' Komutlarını Kullanarak PNG'yi JPG'ye Dönüştürün
ls komutu, tüm png görsellerinizi listelemenizi sağlar ve xargs, tüm resimleri dönüştürmek için standart girişten bir convert komutu oluşturup yürütmenizi mümkün kılar. .png
görsellerini .jpg
'ye dönüştürün.
----------- 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"'
Yukarıdaki komutta kullanılan seçeneklere ilişkin açıklama.
-1
– işaret, ls'e her satırda bir resim listelemesini söyler.-n
– vaka için 1 olan maksimum bağımsız değişken sayısını belirtir.-c
– bash'a verilen komutu çalıştırma talimatını verir.$ {0%.png}.jpg
– dönüştürülen yeni görüntünün adını belirler, % işareti eski dosya uzantısının kaldırılmasına yardımcı olur.
Tüm dosyaları değiştirilme tarihi ve saatine göre listelemek için ls -ltr
komutunu kullandım.
Benzer şekilde, yukarıdaki komutu değiştirerek tüm .jpg
görsellerinizi .png
biçimine dönüştürmek için yukarıdaki komutu kullanabilirsiniz.
2. GNU 'Paralel' Komutunu Kullanarak PNG'yi JPG'ye Dönüştürün
GNU Paralel, kullanıcının paralel olarak standart girdiden kabuk komutları oluşturmasına ve yürütmesine olanak tanır. Sisteminizde GNU Parallel'in kurulu olduğundan emin olun, aksi takdirde aşağıdaki uygun komutları kullanarak kurun:
sudo apt-get install parallel [On Debian/Ubuntu systems]
sudo yum install parallel [On RHEL/CentOS and Fedora]
Parallel yardımcı programı yüklendikten sonra, tüm .png
görsellerini standart girişten .jpg
biçimine dönüştürmek için aşağıdaki komutu çalıştırabilirsiniz.
----------- Convert PNG to JPG -----------
parallel convert '{}' '{.}.jpg' ::: *.png
----------- Convert JPG to PNG -----------
parallel convert '{}' '{.}.png' ::: *.jpg
Nerede,
{comcode> – giriş kaynağından okunan tam bir satırla değiştirilen değiştirme dizesi olan giriş satırı.
{.comcode> – giriş satırı eksi uzantısı.
:::
– giriş kaynağını belirtir; bu, yukarıdaki örneğin komut satırıdır; burada *png veya *jpg argümandır.
Alternatif olarak, tüm görsellerinizi gösterildiği gibi toplu dönüştürmek için ls ve parallel komutlarını birlikte de kullanabilirsiniz:
----------- Convert PNG to JPG -----------
ls -1 *.png | parallel convert '{}' '{.}.jpg'
----------- Convert JPG to PNG -----------
ls -1 *.jpg | parallel convert '{}' '{.}.png'
3. 'For loop' Komutunu Kullanarak PNG'yi JPG'ye Dönüştürün
Kabuk betiği yazma zahmetinden kaçınmak için, komut satırından aşağıdaki gibi bir for döngüsü
çalıştırabilirsiniz:
----------- 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'
Yukarıdaki komutta kullanılan her seçeneğin açıklaması:
- -c for döngüsü ifadesinin tek tırnak içinde yürütülmesine olanak tanır.
- image değişkeni, dizindeki görsellerin sayısını belirten bir sayaçtır.
- Her dönüştürme işlemi için echo komutu, $image satırında & biçimine dönüştürülen bir png görüntüsünün jpg biçimine dönüştürüldüğü ve bunun tersinin de geçerli olduğu konusunda kullanıcıya bilgi verir. #36 {image%.png}.jpg ”.
- “$ {image%.png}.jpg”, dönüştürülen görselin adını oluşturur; burada %, eski görsel formatının uzantısını kaldırır.
4. Kabuk Komut Dosyasını Kullanarak PNG'yi JPG'ye Dönüştürün
Önceki örnekte olduğu gibi komut satırınızı kirletmek istemiyorsanız aşağıdaki gibi küçük bir komut dosyası yazın:
Not: Tek bir formattan dönüştürme için .png
ve .jpg
uzantılarını aşağıdaki örnekte olduğu gibi uygun şekilde değiştirin başka bir.
#!/bin/bash
#convert
for image in *.png; do
convert "$image" "${image%.png}.jpg"
echo “image $image converted to ${image%.png}.jpg ”
done
exit 0
Bunu convert.sh
olarak kaydedin ve betiği çalıştırılabilir hale getirin ve ardından onu resimlerinizin bulunduğu dizinden çalıştırın.
chmod +x convert.sh
./convert.sh
Özetle, .png
görsellerini .jpg
formatına (veya tam tersi) toplu olarak dönüştürmenin bazı önemli yollarını ele aldık. Görselleri optimize etmek istiyorsanız Linux'ta png ve jpg görsellerinin nasıl sıkıştırılacağını gösteren kılavuzumuzu inceleyebilirsiniz.
Terminalde görüntüleri bir formattan diğerine dönüştürmek için Linux komut satırı araçları da dahil olmak üzere diğer yöntemleri de bizimle paylaşabilir veya aşağıdaki yorum bölümü aracılığıyla soru sorabilirsiniz.