4 načini za paketno pretvorbo vašega PNG v JPG in obratno


Pri računalništvu je paketna obdelava izvajanje vrste nalog v programu neinteraktivno. V tem priročniku boste našli 4 preproste načine za paketno pretvorbo več slik .PNG v .JPG in obratno z uporabo orodij ukazne vrstice Linux.

V vseh primerih bomo uporabili orodje za ukazno vrstico convert, za dosego tega pa lahko uporabite tudi mogrify.

Sintaksa za uporabo pretvorbe je:

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

In za mogrify je:

$ mogrify options input-file

Opomba: Pri mogrify je izvirna slikovna datoteka privzeto zamenjana z novo slikovno datoteko, vendar je to mogoče preprečiti z uporabo nekaterih možnosti, ki jih najdete na priročni strani.

Spodaj so navedeni različni načini paketne pretvorbe vseh slik .PNG v .JPG , če želite pretvoriti .JPG v .PNG , ukaze lahko spreminjate glede na svoje potrebe.

1. Pretvorite PNG v JPG z uporabo ukazov ls in xargs

Ukaz ls vam omogoča seznam vseh vaših slik png, xargs pa omogočajo izdelavo in izvajanje ukaza za pretvorbo iz običajnega vhoda za pretvorbo vseh slik .png v .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"'

Pojasnilo o možnostih, uporabljenih v zgornjem ukazu.

  1. -1 - zastavica ls sporoča, naj navede eno sliko na vrstico.
  2. -n - določa največje število argumentov, kar je 1 za primer.
  3. -c - naroči bashu, da zažene dani ukaz.
  4. & # 36 {0% .png} .jpg - nastavi ime nove pretvorjene slike, znak% pomaga odstraniti staro pripono datoteke.

Ukaz ls -ltr sem uporabil za seznam vseh datotek glede na spremenjeni datum in čas.

Podobno lahko z zgornjim ukazom pretvorite vse slike .jpg v .png , tako da prilagodite zgornji ukaz.

2. Pretvorite PNG v JPG z ukazom GNU "Parallel"

GNU Parallel omogoča uporabniku, da vzporedno gradi in izvaja ukaze lupine iz standardnega vhoda. Prepričajte se, da je v vašem sistemu nameščen GNU Parallel, sicer pa ga namestite z ustreznimi spodnjimi ukazi:

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

Ko je nameščen pripomoček Parallel, lahko zaženete naslednji ukaz za pretvorbo vseh slik .png v format .jpg iz standardnega vhoda.

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

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

Kje,

  1. {} - vhodna vrstica, ki je nadomestni niz, nadomeščen s celotno vrstico, prebrano iz vhodnega vira.
  2. {.} - vhodna vrstica minus razširitev.
  3. ::: - določa vhodni vir, to je ukazno vrstico za zgornji primer, kjer je argument * png ali * jpg.

Lahko pa tudi skupaj uporabite ls in vzporedne ukaze za paketno pretvorbo vseh slik, kot 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 v JPG z ukazom »for loop«

Da bi se izognili vrvežu pri pisanju lupinskega skripta, lahko iz ukazne vrstice izvedete for loop , kot sledi:

----------- 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 vsake možnosti, uporabljene v zgornjem ukazu:

  1. -c omogoča izvedbo stavka zanke for v enojnih narekovajih.
  2. Spremenljivka slike je števec števila slik v imeniku.
  3. Za vsako operacijo pretvorbe ukaz echo uporabnika obvesti, da je bila slika png pretvorjena v format jpg in obratno v vrstici $image pretvorjena v & # 36 {image% .png} .jpg ".
  4. \"& # 36 {image% .png} .jpg" ustvari ime pretvorjene slike, kjer% odstrani razširitev starega formata slike.

4. Pretvorite PNG v JPG s pomočjo Shell Script

Če ne želite umazati ukazne vrstice, kot v prejšnjem primeru, napišite majhen skript tako:

Opomba: Za pretvorbo iz ene oblike v drugo primerno zamenjajte priponi .png in .jpg kot v spodnjem primeru.

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

Shranite ga kot convert.sh in naredite skript izvedljiv, nato pa ga zaženite v imeniku, v katerem so vaše slike.

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

Če povzamemo, smo zajeli nekaj pomembnih načinov za paketno pretvorbo slik .png v obliko .jpg in obratno. Če želite optimizirati slike, lahko preberete naš vodnik, ki prikazuje, kako stisniti slike png in jpg v Linuxu.

Z nami lahko delite tudi druge metode, vključno z orodji ukazne vrstice Linux za pretvorbo slik iz ene oblike v drugo na terminalu, ali pa postavite vprašanje v spodnjem oddelku za komentarje.