4 leiðir til að hópumbreyta PNG þínum í JPG og öfugt


Í tölvuvinnslu er runuvinnsla framkvæmd á röð verkefna í forriti án gagnvirkrar. Í þessari handbók mun bjóða þér 4 einfaldar leiðir til að hópumbreyta nokkrum .PNG myndum í .JPG og öfugt með því að nota Linux skipanalínuverkfæri.

Við munum nota convert skipanalínuverkfæri í öllum dæmunum, en þú getur líka notað mogrify til að ná þessu.

Setningafræðin fyrir að nota convert er:

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

Og fyrir mogrify er:

$ mogrify options input-file

Athugið: Með mogrify er upprunalegu myndskránni sjálfgefið skipt út fyrir nýju myndskrána, en það er hægt að koma í veg fyrir það með því að nota ákveðna valkosti sem þú finnur á mansíðunni.

Hér að neðan eru ýmsar leiðir til að umbreyta öllum .PNG myndunum þínum í .JPG snið, ef þú vilt umbreyta .JPG í .PNG, þú getur breytt skipunum eftir þínum þörfum.

1. Umbreyttu PNG í JPG með „ls“ og „xargs“ skipunum

Ls skipunin gerir þér kleift að skrá allar png myndirnar þínar og xargs gera það mögulegt að búa til og framkvæma umbreyta skipun frá venjulegu inntaki til að breyta öllum .png myndum í .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"'

Útskýring á valmöguleikum sem notaðir eru í skipuninni hér að ofan.

  1. -1 – fáninn segir ls að skrá eina mynd í hverri línu.
  2. -n – tilgreinir hámarksfjölda frumbreyta, sem er 1 fyrir tilvikið.
  3. -c – gefur bash fyrirmæli um að keyra tiltekna skipun.
  4. $ {0%.png}.jpg – stillir nafn nýju breyttu myndarinnar, % táknið hjálpar til við að fjarlægja gömlu skráarendingu.

Ég notaði ls -ltr skipunina til að skrá allar skrár eftir breyttri dagsetningu og tíma.

Á sama hátt geturðu notað skipunina fyrir ofan til að breyta öllum .jpg myndunum þínum í .png með því að fínstilla skipunina hér að ofan.

2. Umbreyttu PNG í JPG með GNU „Samhliða“ skipun

GNU Parallel gerir notanda kleift að smíða og framkvæma skel skipanir frá venjulegu inntaki samhliða. Gakktu úr skugga um að þú hafir GNU Parallel uppsett á vélinni þinni, annars settu það upp með því að nota viðeigandi skipanir hér að neðan:

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

Þegar Parallel tólið hefur verið sett upp geturðu keyrt eftirfarandi skipun til að breyta öllum .png myndum í .jpg snið frá venjulegu inntakinu.

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

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

Hvar,

  1. {} – inntakslína sem er varastrengur sem skipt er út fyrir heila línu sem lesin er úr inntaksgjafanum.
  2. {.} – inntakslína mínus framlenging.
  3. ::: – tilgreinir inntaksuppsprettu, það er skipanalínan fyrir dæmið hér að ofan þar sem *png eða *jpg eru rökin.

Að öðrum kosti geturðu notað ls og samhliða skipanir saman til að umbreyta öllum myndunum þínum eins og sýnt er:

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

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

3. Umbreyttu PNG í JPG með „for loop“ skipun

Til að forðast ysið við að skrifa skeljaforskrift geturðu keyrt for lykkju frá skipanalínunni sem hér segir:

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

Lýsing á hverjum valkosti sem notaður er í ofangreindri skipun:

  1. -c gerir kleift að framkvæma for loop setninguna í stökum gæsalappa.
  2. Myndabreytan er teljari fyrir fjölda mynda í möppunni.
  3. Fyrir hverja umbreytingaraðgerð upplýsir bergmálsskipunin notanda um að png mynd hafi verið breytt í jpg snið og öfugt í línunni $image breytt í $ {image%.png}.jpg“.
  4. \$ {image%.png}.jpg býr til nafn breyttu myndarinnar, þar sem % fjarlægir framlengingu gamla myndsniðsins.

4. Umbreyttu PNG í JPG með Shell Script

Ef þú vilt ekki gera skipanalínuna þína óhreina eins og í fyrra dæmi skaltu skrifa lítið handrit eins og svo:

Athugið: Skiptu á viðeigandi .png og .jpg viðbótunum eins og í dæminu hér að neðan til að breyta úr einu sniði í annað.

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

Vistaðu það sem convert.sh og gerðu handritið keyranlegt og keyrðu það síðan úr möppunni sem hefur myndirnar þínar.

$ chmod +x convert.sh
$ ./convert.sh

Í stuttu máli fórum við yfir nokkrar mikilvægar leiðir til að hópumbreyta .png myndum í .jpg snið og öfugt. Ef þú vilt fínstilla myndir geturðu farið í gegnum handbókina okkar sem sýnir hvernig á að þjappa png og jpg myndum í Linux.

Þú getur líka deilt með okkur öllum öðrum aðferðum, þar á meðal Linux skipanalínuverkfærum, til að umbreyta myndum úr einu sniði í annað á flugstöðinni, eða spurt spurninga í athugasemdareitnum hér að neðan.