複数の.pngファイルからサムネイルを作成する必要がありますが、ImageMagicksconvert
ユーティリティを使用してこれを実行したいと思います。サムネイル自体ではなくすべてのファイルを再帰的に見つけるには、次の呼び出しを使用します(読みやすいように2行に分割)。
find . -type f -name "*.png" -not -name "*thumb.png*" \
-exec convert {} -thumbnail 200x200 {}.thumb.png \;`
a.png.thumb.png
しかし、これをファイル名で実行すると当然a.png
。変換に渡された.png
2番目のパラメータ{}
から拡張子を削除するにはどうすればよいですか?
ベストアンサー1
{}
最も簡単な方法は、これをシェルに渡し、シェルにsh
これを実行させることです。
find ... \
-exec sh -c 'convert "$0" -thumbnail 200x200 "${0%.png}.thumb.png"' {} \;