A maneira mais fácil de fazer isso é passar o {}
off para um shell como sh
e fazer o shell fazer isso:
find ... \
-exec sh -c 'convert "$0" -thumbnail 200x200 "${0%.png}.thumb.png"' {} \;
Eu preciso criar miniaturas de vários arquivos .png e gostaria de fazer isso usando o ImageMagicks convert
utility. Para encontrar recursivamente todos os arquivos que não são miniaturas, estou usando a seguinte chamada (dividida em duas linhas para torná-la legível):
find . -type f -name "*.png" -not -name "*thumb.png*" \
-exec convert {} -thumbnail 200x200 {}.thumb.png \;'
Mas isso, é claro, criaria um arquivo chamado a.png.thumb.png
ao executá-lo em um arquivo chamado a.png
. Como eu poderia remover a extensão .png
do segundo parâmetro {}
passado para converter?
Tags find imagemagick