아이폰으로 찍은 사진이 많이 들어있는 폴더가 있어요. 결과의 절반은 JPG이고 절반은 HEIC 형식이어야 합니다.
어떤 이유로든 이 폴더에 있는 모든 사진의 확장자는 JPG입니다. 다음을 확인하세요.https://i.stack.imgur.com/wHzT8.jpg
먼저, 위 이미지처럼 다른 JPG 파일들이 손상된 파일인 줄 알고 열려고 했더니 오류가 떴습니다. 그러다가 Apple Live Photos이기 때문에 JPG가 아닌 HEIC여야 한다는 것을 깨달았습니다. HEIC 형식으로 열리지 않은 여러 JPG 파일의 이름을 수동으로 바꾸면 라이브 사진이기 때문에 짧은 비디오로 올바르게 열렸습니다.
내 질문은 다음과 같습니다열 수 없는 가짜 JPG 파일을 모두 찾아 이름을 .JPG에서 .HEIC로 바꿀 수 있는 방법이 있나요? 다른 사진은 라이브 사진이 아니기 때문에 모든 JPG의 이름을 HEIC로 바꿀 수 없습니다.
답변1
JPG 파일은 열 수 있지만 HEIC는 열 수 없는 명령줄 프로그램이 있는 경우 프로그램을 실행하고 종료 코드를 사용하여 파일이 유효한 JPG인지 확인할 수 있습니다.
convert
imagemagick 프로그램을 사용해 볼 수 있습니다 .
테스트되지 않은 예:
for jpg in *.jpg
do
heic="${jpg%.jpg}.heic" # construct HEIC file name
tmp="$jpg.png" # temporary PNG file
if ! convert "$jpg" "$tmp" # try to convert
then
mv "$jpg" "$heic" # rename if conversion failed
fi
rm -f "$tmp" # PNG no longer needed
done
convert
물론 프로그램이 HEIC 파일을 입력으로 허용하는 경우에는 작동하지 않습니다.
샘플 코드는 다음에서 영감을 얻었습니다.https://github.com/williamthing/Scripts/blob/master/Shell/jpg2png.sh