4 načina da grupno pretvorite svoj PNG u JPG i obrnuto


U računarstvu, Skupna obrada je neinteraktivno izvršavanje niza zadataka u programu. U ovom vodiču ćemo vam ponuditi 4 jednostavna načina za grupnu konverziju nekoliko .PNG slika u .JPG i obrnuto pomoću alata Linux komandne linije.

Koristit ćemo convert alat komandne linije u svim primjerima, međutim, možete koristiti i mogrify da to postignete.

Sintaksa za korištenje konvertiraj je:

convert input-option input-file output-option output-file

A za mogrify je:

mogrify options input-file

Napomena: Sa mogrify, originalna slikovna datoteka se po defaultu zamjenjuje novom slikovnom datotekom, ali je to moguće spriječiti tako da koristeći određene opcije koje možete pronaći na man stranici.

Ispod su različiti načini za grupnu konverziju svih vaših .PNG slika u .JPG format, ako želite da pretvorite .JPG u .PNG, možete modificirati komande prema vašim potrebama.

1. Pretvorite PNG u JPG koristeći komande 'ls' i 'xargs'

Naredba ls vam omogućava da navedete sve vaše png slike, a xargs omogućavaju da napravite i izvršite naredbu convert iz standardnog unosa za pretvaranje svih .png slike u .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"'

Objašnjenje o opcijama korištenim u gornjoj naredbi.

  1. -1 – zastavica govori ls da navede jednu sliku po redu.
  2. -n – specificira maksimalan broj argumenata, što je 1 za slučaj.
  3. -c – nalaže bash-u da pokrene datu komandu.
  4. $ {0%.png}.jpg – postavlja naziv nove konvertovane slike, znak % pomaže u uklanjanju stare ekstenzije datoteke.

Koristio sam naredbu ls -ltr da ispišem sve fajlove prema izmijenjenom datumu i vremenu.

Slično, možete koristiti gornju naredbu da konvertujete sve vaše slike .jpg u .png podešavanjem gornje naredbe.

2. Pretvorite PNG u JPG koristeći GNU 'Parallel' naredbu

GNU Parallel omogućava korisniku da paralelno gradi i izvršava komande ljuske iz standardnog unosa. Uvjerite se da imate GNU Parallel instaliran na vašem sistemu, inače ga instalirajte koristeći odgovarajuće naredbe u nastavku:

sudo apt-get install parallel     [On Debian/Ubuntu systems]
sudo yum install parallel         [On RHEL/CentOS and Fedora]

Jednom instaliran Paralelni uslužni program, možete pokrenuti sljedeću naredbu da konvertujete sve slike .png u format .jpg iz standardnog unosa.

----------- Convert PNG to JPG ----------- 
parallel convert '{}' '{.}.jpg' ::: *.png

----------- Convert JPG to PNG -----------
parallel convert '{}' '{.}.png' ::: *.jpg

gdje,

  1. {} – ulazna linija koja je zamjenski niz zamijenjen cijelim redom pročitanim iz izvora unosa.
  2. {.} – ulazni red minus ekstenzija.
  3. ::: – specificira izvor unosa, to je komandna linija za gornji primjer gdje je *png ili *jpg argument.

Alternativno, možete koristiti ls i paralelne komande zajedno za grupnu konverziju svih vaših slika kao što je prikazano:

----------- Convert PNG to JPG ----------- 
ls -1 *.png | parallel convert '{}' '{.}.jpg'

----------- Convert JPG to PNG -----------
ls -1 *.jpg | parallel convert '{}' '{.}.png'

3. Pretvorite PNG u JPG koristeći naredbu 'for loop'

Da biste izbjegli gužvu oko pisanja shell skripte, možete izvršiti for petlju iz komandne linije na sljedeći način:

----------- 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'

Opis svake opcije korištene u gornjoj naredbi:

  1. -c omogućava izvršavanje izraza petlje for u jednostrukim navodnicima.
  2. Varijabla image je brojač broja slika u direktoriju.
  3. Za svaku operaciju konverzije, naredba echo obavještava korisnika da je PNG slika konvertirana u format jpg i obrnuto u redu $image konvertirana u & #36 {image%.png}.jpg ”.
  4. “$ {image%.png}.jpg” kreira naziv konvertovane slike, gdje % uklanja ekstenziju starog formata slike.

4. Pretvorite PNG u JPG koristeći Shell Script

Ako ne želite da svoju komandnu liniju učinite prljavom kao u prethodnom primjeru, napišite malu skriptu ovako:

Napomena: Prikladno zamijenite ekstenzije .png i .jpg kao u primjeru ispod za konverziju iz jednog formata drugome.

#!/bin/bash
#convert
for image in *.png; do
        convert  "$image"  "${image%.png}.jpg"
        echo “image $image converted to ${image%.png}.jpg ”
done
exit 0 

Sačuvajte ga kao convert.sh i učinite skriptu izvršnom, a zatim je pokrenite iz direktorija u kojem se nalaze vaše slike.

chmod +x convert.sh
./convert.sh

Ukratko, pokrili smo neke važne načine za grupno pretvaranje .png slika u format .jpg i obrnuto. Ako želite optimizirati slike, možete proći kroz naš vodič koji pokazuje kako komprimirati png i jpg slike u Linuxu.

Također možete podijeliti s nama bilo koje druge metode uključujući Linux alate komandne linije za pretvaranje slika iz jednog formata u drugi na terminalu, ili postaviti pitanje putem odjeljka za komentare ispod.