찾기로 확장을 생략 하시겠습니까?


11

여러 .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두 번째 {}매개 변수 에서 확장을 제거하려면 어떻게 해야합니까?

답변:


14

가장 쉬운 방법 {}은 쉘을 다음과 같이 전달 sh하여 쉘이 수행하도록하는 것입니다.

find ... \
    -exec sh -c 'convert "$0" -thumbnail 200x200 "${0%.png}.thumb.png"' {} \;
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.