find를 이용한 문자 교체

png 확장자를 사용하고 있지만, 실제는 jpg파일이다

내 블로그는 가급적 jpg를 사용한다. webp도 지원가능하지만, webp를 볼 수 없는 경우도 있기 때문도 있고, 파일 구조 분석해 보니 webp에 대한 의구심도 있어서 검증된 jpg를 쓰는 것이다.

그런데, 흔한 일은 아닌데... 포스트를 복구하려고 받아둔 png이미지를 jpg로 바꾸니 에러가 뜨면서 변환되지 않는 일이 생겼다.

이상해서 preview 앱으로 열어서 파일 포맷을 확인해보니... 실제로 받아둔 파일은 png가 아닌 jpg였고, 확장자만 png로 남아 있었던 것이다.

아마, 커뮤니티 차원에서 용량 확보를 위해 png를 강제로 jpg로 변환하면서 파일 확장자는 안 바꾼 듯 한다.

충분히 있을 수 있는 일이다.

파일포맷과 확장자가 일치하지 않아도 널리 알려진 포맷은 정상 출력되기도 하니, 그걸 노린 것 같다.
그래서 나 역시 흔하지않지만, find를 이용해 확장자만 바꾸는 명령어를 짜서 돌렸다.

find Desktop/I\ ll -iname '*.png' -exec bash -c 'mv -- "$1" "${1%.png}.jpg"' bash {} \;

위의 코드는 특정 폴더의 모든 png파일을 찾아 bash에서 mv명령어를 이용해 파일이름은 남기고 확장자를 jpg로 바꾸도록 하는 명령문이다.
결과는 다음과 같다.

확장자를 jpg로 바꿔, 실제 파일형식과 확장자를 일치시켰다
Next Post Previous Post
No Comment
Add Comment
comment url