4 načina grupnog pretvaranja vašeg PNG-a u JPG i obratno


U računalstvu, skupna obrada je izvršavanje niza zadataka u programu ne-interaktivno. U ovom će vam vodiču ponuditi 4 jednostavna načina skupnog pretvaranja nekoliko slika .PNG u .JPG i obratno pomoću alata za naredbeni redak Linuxa.

U svim ćemo primjerima koristiti alat za naredbe convert, no za to možete koristiti i mogrify.

Sintaksa za uporabu convert je:

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

A za mogrify je:

$ mogrify options input-file

Napomena: Uz mogrify, izvorna slikovna datoteka zamijenjena je novom slikovnom datotekom prema zadanim postavkama, ali to je moguće spriječiti korištenjem određenih opcija koje možete pronaći na man stranici.

Ispod su razni načini skupnog pretvaranja svih slika .PNG u .JPG format ako želite .JPG pretvoriti u .PNG , naredbe možete mijenjati prema svojim potrebama.

1. Pretvorite PNG u JPG pomoću naredbi 'ls' i 'xargs'

Naredba ls omogućuje popis svih vaših png slika, a xargovi omogućuju izgradnju i izvršavanje naredbe pretvaranja iz standardnog unosa za pretvaranje svih slika .png 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 - zastava govori lsu da navede jednu sliku po retku.
  2. -n - određuje maksimalni broj argumenata, što je 1 za slučaj.
  3. -c - upućuje basha da izvrši zadanu naredbu.
  4. & # 36 {0% .png} .jpg - postavlja naziv nove pretvorene slike, znak% pomaže u uklanjanju starog nastavka datoteke.

Koristio sam naredbu ls -ltr za popis svih datoteka prema izmijenjenom datumu i vremenu.

Slično tome, možete upotrijebiti gornju naredbu da biste pretvorili sve svoje slike .jpg u .png podešavanjem gornje naredbe.

2. Pretvorite PNG u JPG pomoću naredbe GNU 'Parallel'

GNU Parallel omogućuje korisniku da paralelno gradi i izvršava naredbe ljuske sa standardnog ulaza. Obavezno instalirajte GNU Parallel na vašem sustavu, inače ga instalirajte pomoću odgovarajućih naredbi u nastavku:

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

Jednom instaliran uslužni program Parallel možete pokrenuti sljedeću naredbu za pretvaranje svih slika .png u .jpg format sa standardnog ulaza.

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

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

Gdje,

  1. {} - ulazni redak koji je zamjenski niz zamijenjen cjelovitim retkom očitanim iz ulaznog izvora.
  2. {.} - redak za unos minus proširenje.
  3. ::: - navodi izvor ulaza, to je naredbeni redak za gornji primjer gdje je argument * png ili * jpg.

Alternativno, možete zajedno koristiti ls i paralelne naredbe za skupno pretvaranje svih slika kako 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 pomoću naredbe 'for loop'

Da biste izbjegli gužvu pisanja skripte ljuske, možete iz naredbenog retka izvršiti for loop 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ćuje izvršavanje naredbe for loop u pojedinačnim navodnicima.
  2. Varijabla slike brojač je broja slika u direktoriju.
  3. Za svaku operaciju pretvorbe, naredba echo obavještava korisnika da je png slika pretvorena u jpg format i obratno u retku $image pretvoren u & # 36 {image% .png} .jpg ".
  4. "& # 36 {image% .png} .jpg" stvara ime pretvorene slike, gdje% uklanja proširenje starog formata slike.

4. Pretvorite PNG u JPG pomoću Shell skripte

Ako ne želite zaprljati naredbeni redak kao u prethodnom primjeru, napišite malu skriptu poput ove:

Napomena: Prikladno zamijenite proširenja .png i .jpg kao u donjem primjeru za pretvorbu iz jednog formata u drugi.

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

Spremite 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, obradili smo neke važne načine skupnog pretvaranja slika .png u .jpg format i obratno. Ako želite optimizirati slike, možete proći kroz naš vodič koji pokazuje kako komprimirati png i jpg slike u Linuxu.

Možete podijeliti s nama bilo koje druge metode, uključujući alate Linux naredbenog retka za pretvaranje slika iz jednog formata u drugi na terminalu, ili postaviti pitanje putem odjeljka za komentare u nastavku.