PNG를 JPG로 또는 그 반대로 일괄 변환하는 4가지 방법
컴퓨팅에서 일괄 처리는 프로그램의 일련의 작업을 비대화식으로 실행하는 것입니다. 이 가이드에서는 Linux 명령줄 도구를 사용하여 여러 .PNG
이미지를 .JPG
로 또는 그 반대로 일괄 변환하는 4가지 간단한 방법을 제공합니다.
모든 예에서는 convert 명령줄 도구를 사용하지만 mogrify를 사용하여 이를 달성할 수도 있습니다.
convert 사용 구문은 다음과 같습니다.
convert input-option input-file output-option output-file
mogrify의 경우는 다음과 같습니다.
mogrify options input-file
참고: mogrify를 사용하면 원본 이미지 파일이 기본적으로 새 이미지 파일로 대체되지만 다음과 같은 방법으로 이를 방지할 수 있습니다. 매뉴얼 페이지에서 찾을 수 있는 특정 옵션을 사용합니다.
다음은 .JPG
를 로 변환하려는 경우 모든
를 사용하면 필요에 따라 명령을 수정할 수 있습니다..PNG
이미지를 .JPG
형식으로 일괄 변환하는 다양한 방법입니다. .PNG
1. 'ls' 및 'xargs' 명령을 사용하여 PNG를 JPG로 변환
ls 명령을 사용하면 모든 png 이미지를 나열할 수 있으며 xargs를 사용하면 표준 입력에서 convert 명령을 작성하고 실행하여 모든 이미지를 변환할 수 있습니다. .png
이미지를 .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"'
위 명령어에 사용된 옵션에 대한 설명입니다.
-1
– 플래그는 ls에 한 줄에 하나의 이미지를 나열하도록 지시합니다.-n
– 최대 인수 수를 지정합니다. 해당 경우에는 1입니다.-c
– bash에게 주어진 명령을 실행하도록 지시합니다.$ {0%.png}.jpg
– 새로 변환된 이미지의 이름을 설정합니다. % 기호는 이전 파일 확장자를 제거하는 데 도움이 됩니다.
수정된 날짜와 시간별로 모든 파일을 나열하려면 ls -ltr
명령을 사용했습니다.
마찬가지로, 위 명령을 조정하면 모든 .jpg
이미지를 .png
로 변환하는 데 위 명령을 사용할 수 있습니다.
2. GNU '병렬' 명령을 사용하여 PNG를 JPG로 변환
GNU 병렬을 사용하면 사용자가 표준 입력에서 셸 명령을 병렬로 작성하고 실행할 수 있습니다. 시스템에 GNU Parallel이 설치되어 있는지 확인하고, 그렇지 않은 경우 아래 적절한 명령을 사용하여 설치하십시오.
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
어디,
{}
– 입력 소스에서 읽은 전체 줄로 대체된 대체 문자열인 입력 줄입니다.{.}
– 입력 줄에서 확장자를 뺀 값입니다.:::
– 입력 소스를 지정합니다. 즉, *png 또는 *jpg가 인수인 위 예의 명령줄입니다.
또는 ls 및 parallel 명령을 함께 사용하여 표시된 대로 모든 이미지를 일괄 변환할 수도 있습니다.
----------- Convert PNG to JPG -----------
ls -1 *.png | parallel convert '{}' '{.}.jpg'
----------- Convert JPG to PNG -----------
ls -1 *.jpg | parallel convert '{}' '{.}.png'
3. 'for loop' 명령을 사용하여 PNG를 JPG로 변환
셸 스크립트를 작성하는 번거로움을 피하려면 다음과 같이 명령줄에서 for 루프
를 실행할 수 있습니다.
----------- 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'
위 명령에 사용된 각 옵션에 대한 설명:
- -c를 사용하면 작은따옴표로 묶인 for 루프 문을 실행할 수 있습니다.
- image 변수는 디렉토리에 있는 이미지 수에 대한 카운터입니다.
- 각 변환 작업에 대해 echo 명령은 $image가 &로 변환된 줄에서 png 이미지가 jpg 형식으로 변환되었고 그 반대의 경우도 마찬가지임을 사용자에게 알립니다. #36 {image%.png}.jpg”.
- “$ {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
형식으로 또는 그 반대로 일괄 변환하는 몇 가지 중요한 방법을 다루었습니다. 이미지를 최적화하려면 Linux에서 png 및 jpg 이미지를 압축하는 방법을 보여주는 가이드를 참조하세요.
터미널에서 이미지를 한 형식에서 다른 형식으로 변환하기 위한 Linux 명령줄 도구를 포함한 다른 방법을 우리와 공유하거나 아래 댓글 섹션을 통해 질문할 수도 있습니다.