10,000個のJPEGを含むディレクトリがあります。ファイルを作成するときに間違いを犯したが、一部は720px×480pxで、すべて448px×336pxである必要があります。ディレクトリには大きすぎるファイルが含まれており、正しいサイズは448ピクセル×336ピクセルです。サイズは同じでなければならないため、720ピクセル×480ピクセルの画像を正しい448ピクセル×336ピクセルに縮小する必要があります。
- 各ファイルは448ピクセル×336ピクセルでなければなりません。
- ファイルが10,000個あるため、各ファイルを調べてどのファイルが大きすぎるかを判断するのは困難です。
ImageMagickまたは同様のバッチツールを使用してサイズが間違った画像のみを選択的にサイズ変更する方法はありますか?
ベストアンサー1
以下を使用して、幅720ピクセルのファイルを見つけることができます。
identify -format '%w %i\n' *.jpg | awk '/^720/ {print $2}'
*.jpg 拡張を引き起こし、「引数リストが多すぎる」エラーを引き起こす可能性のあるファイルが実際に多い場合は、次のバリアントを使用できます。
find -name '*.jpg' -exec identify -format '%w %i\n' {} + | awk '/^720/ {print $2}'
このリストを使用すると、次のファイルのサイズを変更できます。
find -name '*.jpg' -exec identify -format '%w %i\n' {} + | awk '/^720/ {print $2}' | xargs -I {} convert -resize 488x336! {} {}
感嘆符! 488x336 がない場合、新しい画像はそのサイズに正確に合わせられるため、縦横比が維持され、指定されたサイズは幅と高さの最大サイズです。