여러 .png 파일에서 축소판을 만들어야하며 ImageMagicks convert
유틸리티를 사용하여이 작업을 수행하려고 합니다. 축소판 자체가 아닌 모든 파일을 재귀 적으로 찾으려면 다음 호출을 사용하고 있습니다 (두 줄로 나누면 읽을 수 있습니다).
find . -type f -name "*.png" -not -name "*thumb.png*" \
-exec convert {} -thumbnail 200x200 {}.thumb.png \;`
그러나 이것은 물론이라는 파일에서 파일 a.png.thumb.png
을 실행할 때 이름이 지정된 파일을 만듭니다 a.png
. 변환을 위해 전달 된 .png
두 번째 {}
매개 변수 에서 확장을 제거하려면 어떻게 해야합니까?
답변
가장 쉬운 방법 {}
은 쉘을 다음과 같이 전달 sh
하여 쉘이 수행하도록하는 것입니다.
find ... \
-exec sh -c 'convert "$0" -thumbnail 200x200 "${0%.png}.thumb.png"' {} \;