2012-08-14 3 views
0


나는 리눅스, bash를 사용합니다.
여러 디렉토리에 여러 이미지 파일이 있습니다. 모두 저장해야하는 특정 이름 (파일 이름 및 디렉토리)이 있습니다. 하지만 모든 이미지를 다른 크기와 ppi로 변환해야합니다. 나는
convert -units PixelsPerInch 75 -resize 200x200 ~/filepath/*.jpg ~/filepath.*jpg
을 사용했지만 잘못된 파일을 대체했습니다. 또한 나는 새 파일 이름에 번호를 추가 "{}" "{}"%03d.jpg

을 시도했지만 그것은 단지 제공 001.jpg 등 스크립트
${filename%.}과 다른 부분과
Bash - get last dirname/filename in a file path argument
또는
Extract filename and extension in Bash
같은 솔루션 또는
http://bytebar.blogspot.com/2008/08/bash-filename-extraction.html
작동하지 않거나 코드를 이해할 수있는 지식이 없습니다 ... 어떻게 파일을 변환 할 수 있습니까? ir 이름과 디렉토리?bash를 사용하여 파일 이름 바꾸기

답변

0
ls ~/filepath.*jpg | xargs -n 1 -I{} convert -units PixelsPerInch 75 -resize 200x200 {} {} 

"xargs -n 1"은 한 번에 하나씩 제공된 인수로 다음 함수를 호출합니다. xargs의 -I {} 인수는 xargs에게 {}의 각 발생을 주어진 인수로 바꾸도록 지시합니다.

+0

죄송합니다. 고맙습니다! 내가 사용한 코드는 당신의 제안과 정확히 같습니다. – boldnik