ബാച്ച് ചെയ്യാനുള്ള 4 വഴികൾ നിങ്ങളുടെ PNG ലേക്ക് JPG ആയും തിരിച്ചും പരിവർത്തനം ചെയ്യുക


കമ്പ്യൂട്ടിംഗിൽ, ബാച്ച് പ്രോസസ്സിംഗ് എന്നത് ഒരു പ്രോഗ്രാമിലെ ടാസ്uക്കുകളുടെ ഒരു പരമ്പര സംവേദനാത്മകമായി നിർവ്വഹിക്കുന്നതാണ്. ലിനക്സ് കമാൻഡ്-ലൈൻ ടൂളുകൾ ഉപയോഗിച്ച് നിരവധി .PNG ഇമേജുകൾ .JPG ആയും തിരിച്ചും പരിവർത്തനം ചെയ്യുന്നതിനുള്ള 4 ലളിതമായ വഴികൾ ഈ ഗൈഡിൽ നിങ്ങൾക്ക് വാഗ്ദാനം ചെയ്യും.

എല്ലാ ഉദാഹരണങ്ങളിലും ഞങ്ങൾ കൺവർട്ട് കമാൻഡ് ലൈൻ ടൂൾ ഉപയോഗിക്കും, എന്നിരുന്നാലും, ഇത് നേടുന്നതിന് നിങ്ങൾക്ക് മോഗ്രിഫൈ ഉപയോഗിക്കാനും കഴിയും.

പരിവർത്തനം ഉപയോഗിക്കുന്നതിനുള്ള വാക്യഘടന ഇതാണ്:

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

മോഗ്രിഫൈയ്uക്ക്:

$ mogrify options input-file

ശ്രദ്ധിക്കുക: മോഗ്രിഫൈ ഉപയോഗിച്ച്, ഒറിജിനൽ ഇമേജ് ഫയലിന് പകരം പുതിയ ഇമേജ് ഫയൽ ഡിഫോൾട്ടായി നൽകും, എന്നാൽ മാൻ പേജിൽ നിങ്ങൾക്ക് കണ്ടെത്താനാകുന്ന ചില ഓപ്ഷനുകൾ ഉപയോഗിച്ച് ഇത് തടയാൻ സാധിക്കും.

നിങ്ങൾക്ക് .JPG ആയി പരിവർത്തനം ചെയ്യണമെങ്കിൽ, നിങ്ങളുടെ എല്ലാ .PNG ചിത്രങ്ങളും .JPG ഫോർമാറ്റിലേക്ക് പരിവർത്തനം ചെയ്യുന്നതിനുള്ള വിവിധ വഴികൾ ചുവടെയുണ്ട്. .PNG, നിങ്ങളുടെ ആവശ്യങ്ങൾക്കനുസരിച്ച് നിങ്ങൾക്ക് കമാൻഡുകൾ പരിഷ്കരിക്കാനാകും.

1. 'ls', 'xargs' കമാൻഡുകൾ ഉപയോഗിച്ച് PNG-യെ JPG-ലേക്ക് പരിവർത്തനം ചെയ്യുക

നിങ്ങളുടെ എല്ലാ png ഇമേജുകളും ലിസ്റ്റുചെയ്യാൻ ls കമാൻഡ് നിങ്ങളെ അനുവദിക്കുന്നു കൂടാതെ എല്ലാ .png ഇമേജുകളും .jpg ആയി പരിവർത്തനം ചെയ്യുന്നതിനായി സ്റ്റാൻഡേർഡ് ഇൻപുട്ടിൽ നിന്ന് ഒരു കൺവേർട്ട് കമാൻഡ് നിർമ്മിക്കാനും എക്സിക്യൂട്ട് ചെയ്യാനും xargs സാധ്യമാക്കുന്നു.

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

മുകളിലുള്ള കമാൻഡിൽ ഉപയോഗിച്ചിരിക്കുന്ന ഓപ്ഷനുകളെക്കുറിച്ചുള്ള വിശദീകരണം.

  1. -1 – ഓരോ വരിയിലും ഒരു ചിത്രം ലിസ്റ്റുചെയ്യാൻ ഫ്ലാഗ് ls-നോട് പറയുന്നു.
  2. -n – പരമാവധി ആർഗ്യുമെന്റുകൾ വ്യക്തമാക്കുന്നു, ഇത് കേസിന്റെ 1 ആണ്.
  3. -c – നൽകിയിരിക്കുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്നതിന് ബാഷിന് നിർദ്ദേശം നൽകുന്നു.
  4. $ {0%.png}.jpg – പരിവർത്തനം ചെയ്ത പുതിയ ചിത്രത്തിന്റെ പേര് സജ്ജീകരിക്കുന്നു, പഴയ ഫയൽ വിപുലീകരണം നീക്കംചെയ്യാൻ % ചിഹ്നം സഹായിക്കുന്നു.

പരിഷ്കരിച്ച തീയതിയും സമയവും അനുസരിച്ച് എല്ലാ ഫയലുകളും ലിസ്റ്റ് ചെയ്യാൻ ഞാൻ ls -ltr കമാൻഡ് ഉപയോഗിച്ചു.

അതുപോലെ, മുകളിലെ കമാൻഡ് ട്വീക്ക് ചെയ്തുകൊണ്ട് നിങ്ങളുടെ എല്ലാ .jpg ചിത്രങ്ങളും .png ആയി പരിവർത്തനം ചെയ്യാൻ മുകളിലുള്ള കമാൻഡ് ഉപയോഗിക്കാം.

2. GNU 'Parallel' കമാൻഡ് ഉപയോഗിച്ച് PNG-യെ JPG-ലേക്ക് പരിവർത്തനം ചെയ്യുക

ഗ്നു പാരലൽ ഒരു ഉപയോക്താവിനെ സ്റ്റാൻഡേർഡ് ഇൻപുട്ടിൽ നിന്ന് സമാന്തരമായി ഷെൽ കമാൻഡുകൾ നിർമ്മിക്കാനും പ്രവർത്തിപ്പിക്കാനും പ്രാപ്തമാക്കുന്നു. നിങ്ങളുടെ സിസ്റ്റത്തിൽ ഗ്നു പാരലൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക, അല്ലാത്തപക്ഷം താഴെയുള്ള ഉചിതമായ കമാൻഡുകൾ ഉപയോഗിച്ച് ഇത് ഇൻസ്റ്റാൾ ചെയ്യുക:

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

സമാന്തര യൂട്ടിലിറ്റി ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, സ്റ്റാൻഡേർഡ് ഇൻപുട്ടിൽ നിന്ന് എല്ലാ .png ചിത്രങ്ങളും .jpg ഫോർമാറ്റിലേക്ക് പരിവർത്തനം ചെയ്യാൻ നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കാൻ കഴിയും.

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

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

എവിടെ,

  1. {} – ഇൻപുട്ട് ലൈൻ, ഇത് ഇൻപുട്ട് ഉറവിടത്തിൽ നിന്ന് വായിച്ച പൂർണ്ണമായ ഒരു ലൈൻ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്ന ഒരു സ്ട്രിംഗ് ആണ്.
  2. {.} – ഇൻപുട്ട് ലൈൻ മൈനസ് എക്സ്റ്റൻഷൻ.
  3. ::: – ഇൻപുട്ട് ഉറവിടം വ്യക്തമാക്കുന്നു, അത് മുകളിലെ ഉദാഹരണത്തിനുള്ള കമാൻഡ് ലൈൻ ആണ്, ഇവിടെ *png അല്ലെങ്കിൽ *jpg ആർഗ്യുമെന്റ് ആണ്.

പകരമായി, കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങളുടെ എല്ലാ ചിത്രങ്ങളും പരിവർത്തനം ചെയ്യാൻ നിങ്ങൾക്ക് ls, സമാന്തര കമാൻഡുകൾ എന്നിവ ഒരുമിച്ച് ഉപയോഗിക്കാം:

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

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

3. 'ഫോർ ലൂപ്പ്' കമാൻഡ് ഉപയോഗിച്ച് PNG-യെ JPG-ലേക്ക് പരിവർത്തനം ചെയ്യുക

ഒരു ഷെൽ സ്ക്രിപ്റ്റ് എഴുതുന്നതിനുള്ള തിരക്ക് ഒഴിവാക്കാൻ, നിങ്ങൾക്ക് കമാൻഡ് ലൈനിൽ നിന്ന് ഒരു for loop ഇനിപ്പറയുന്ന രീതിയിൽ എക്സിക്യൂട്ട് ചെയ്യാം:

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

മുകളിലുള്ള കമാൻഡിൽ ഉപയോഗിച്ചിരിക്കുന്ന ഓരോ ഓപ്ഷന്റെയും വിവരണം:

  1. -c ഒറ്റ ഉദ്ധരണികളിൽ ഫോർ ലൂപ്പ് സ്റ്റേറ്റ്മെന്റ് നടപ്പിലാക്കാൻ അനുവദിക്കുന്നു.
  2. ഡയറക്uടറിയിലെ ചിത്രങ്ങളുടെ എണ്ണത്തിനുള്ള കൗണ്ടറാണ് ഇമേജ് വേരിയബിൾ.
  3. ഓരോ കൺവേർഷൻ ഓപ്പറേഷനും, ഒരു png ഇമേജ് jpg ഫോർമാറ്റിലേക്കും തിരിച്ചും $image $ {image%.png}.jpg ആയി പരിവർത്തനം ചെയ്ത വരിയിൽ തിരിച്ചും പരിവർത്തനം ചെയ്തതായി echo കമാൻഡ് ഉപയോക്താവിനെ അറിയിക്കുന്നു.
  4. \$ {image%.png}.jpg പരിവർത്തനം ചെയ്ത ചിത്രത്തിന്റെ പേര് സൃഷ്ടിക്കുന്നു, അവിടെ % പഴയ ഇമേജ് ഫോർമാറ്റിന്റെ വിപുലീകരണം നീക്കംചെയ്യുന്നു.

4. ഷെൽ സ്ക്രിപ്റ്റ് ഉപയോഗിച്ച് PNG-യെ JPG-ലേക്ക് പരിവർത്തനം ചെയ്യുക

മുമ്പത്തെ ഉദാഹരണത്തിലെന്നപോലെ നിങ്ങളുടെ കമാൻഡ് ലൈൻ വൃത്തികെട്ടതാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നില്ലെങ്കിൽ, ഇതുപോലെ ഒരു ചെറിയ സ്ക്രിപ്റ്റ് എഴുതുക:

ശ്രദ്ധിക്കുക: ഒരു ഫോർമാറ്റിൽ നിന്ന് മറ്റൊന്നിലേക്ക് പരിവർത്തനം ചെയ്യുന്നതിന് ചുവടെയുള്ള ഉദാഹരണത്തിലെ പോലെ .png, .jpg വിപുലീകരണങ്ങൾ ഉചിതമായി മാറ്റുക.

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

ഇത് convert.sh ആയി സംരക്ഷിച്ച് സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ടബിൾ ആക്കുക, തുടർന്ന് നിങ്ങളുടെ ഇമേജുകൾ ഉള്ള ഡയറക്ടറിയിൽ നിന്ന് അത് പ്രവർത്തിപ്പിക്കുക.

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

ചുരുക്കത്തിൽ, .png ചിത്രങ്ങൾ .jpg ഫോർമാറ്റിലേക്കും തിരിച്ചും ബാച്ച് പരിവർത്തനം ചെയ്യുന്നതിനുള്ള ചില പ്രധാന വഴികൾ ഞങ്ങൾ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. നിങ്ങൾക്ക് ഇമേജുകൾ ഒപ്റ്റിമൈസ് ചെയ്യണമെങ്കിൽ, ലിനക്സിൽ png, jpg ഇമേജുകൾ എങ്ങനെ കംപ്രസ് ചെയ്യാം എന്ന് കാണിക്കുന്ന ഞങ്ങളുടെ ഗൈഡിലൂടെ നിങ്ങൾക്ക് പോകാം.

ടെർമിനലിൽ ഒരു ഫോർമാറ്റിൽ നിന്ന് മറ്റൊന്നിലേക്ക് ഇമേജുകൾ പരിവർത്തനം ചെയ്യുന്നതിനുള്ള Linux കമാൻഡ് ലൈൻ ടൂളുകൾ ഉൾപ്പെടെയുള്ള മറ്റേതെങ്കിലും രീതികൾ നിങ്ങൾക്ക് ഞങ്ങളുമായി പങ്കിടാം, അല്ലെങ്കിൽ ചുവടെയുള്ള അഭിപ്രായ വിഭാഗം വഴി ഒരു ചോദ്യം ചോദിക്കുക.