답변:
Ubuntu에 ImageMagick이 설치되어 있을 것 입니다.
그렇게 할 수 있습니다 .
convert filename.bmp filename.jpg
최신 정보:
은 mogrify
(응답 hyperslug
에 의해 참조 cjm
) 또한 좋은 옵션입니다.
사용 mogrify , 플립에 그리기, 이미지, 흐림, 자르기, 얼룩 제거, 디더링 크기를 조정에 참여, 다시 샘플, 그리고 훨씬 더하는 프로그램.
이 도구는 요청한 변경 사항으로 원본 이미지 파일을 덮어 쓰는 것을 제외하고 ( 옵션으로 파일 접미사를 변경하지 않는 한) 변환하는 것이 더 쉽습니다 .-format
salmonmoose 답변을 약간 변경하겠습니다.
for i in `ls *.bmp`; do convert $i $i.jpg; done
위는 작동하지만 "bmp.jpg"라는 파일을 생성합니다. 이 명령으로 .jpg 파일을 얻을 수 있습니다 :
for i in *.bmp; do convert ${i} ${i%bmp}jpg; done
명령에 man bash
대한 자세한 내용을 참조하십시오 for
. 이 ${i%bmp}
부분은 끝에 "bmp"하위 문자열이없는 문자열 "$ {i}"을 의미합니다.
"$ {i}"에서 문자열을 변환하는 다른 조작이 있습니다. "$ i"는 "$ {i}"의 줄임말입니다. ls *.bmp
salmonmoose 답변 의 부분은 "execute"를 의미 ls *.bmp
하며 for for i
part는 각 문자열을 공백으로 구분하여 할당합니다 i
. *.bmp
디렉토리의 모든 파일 이름과 일치하기 때문에 동일하게 수행됩니다 .
다음과 같은 단점이 for
있습니다. 디렉토리의 파일 이름에 "wedding picture 1.bmp"와 같은 공백이 있으면 i
var 에 3 번 할당되어 다음 명령을 수행합니다.
convert wedding wedding.jpg
convert picture picture.jpg
convert 1.bmp 1.bmp.jpg
내 대답에서 "$ {i % bmp}"일치도 실패합니다.
그러나 해결책이 있습니다 find
. 대신 명령을 사용할 수 있습니다 . 자세한 내용 man find
을 참조하십시오. 다음과 같은 내용을 입력해야합니다 (시도하기 전에 맨 페이지에서 구문을 확인하십시오).
find -name *.bmp -type f -exec convert '{}' '{}'.jpg \;
(나는 이름 부분을 잘 모르고 -exec
, 그 부분에 의심이있다. man find
먼저 참조 )
하나의 .jpg 파일에서 모든 이미지를 결합하려면 첫 번째 답변에서 언급 한 것처럼 다른 필터와 연결할 수 있습니다.
for i in `ls *.bmp`; do convert $i $i.jpg; done
그렇습니다. filename.bmp.jpg라는 많은 파일이 만들어 지지만 작업을 수행하게됩니다.
ls
.