*.jpg
수백 개의 파일을 *.webp
다음 으로 변환 하려고 합니다 .libwebp
macOS에서. 특히 명령줄 도구를 사용하고 싶습니다.cwebp
변환을 수행합니다. 작동 방식은 다음과 같습니다.
cwebp <input_file>.jpg -o <output_file>.webp
이름이 about.인 내 *.jpg
파일은 IMG_20160227_110640.jpg
이라는 디렉토리에 저장되어 있습니다 root
. 문제는 *.webp
변환을 수행할 때 파일이 존재하지 않기 때문에 파일 이름을 cwebp
.
cwebp IMG_20160227_110640.jpg -o IMG_20160227_110640.webp
하지만 수백 줄의 명령이 있는데 수백 줄의 명령을 입력하고 싶지 않습니다. 정규식/스크립트를 사용하여 변환을 자동화하려면 어떻게 해야 합니까?
답변1
for
매개변수 확장과 결합된 루프를 사용하십시오 .
for f in *.jpg; do cwebp "$f" -o "${f%.jpg}.webp"; done
LESS='+/Parameter Expansion' man bash
Bash에 대한 내용 도 참조하세요 .
하지만,매개변수 확장은 POSIX에 지정됩니다.;Bash에만 국한된 것은 아닙니다. (Bash에는 일부 확장이 있을 수 있습니다.) 위 명령은 모든 POSIX 시스템에서 작동합니다.