3

I was trying to rotate few hundred images which have 7000px height in 1000+ images how to rotate them from bash.

chaos
  • 47,463
  • 11
  • 118
  • 144
Ramaprakasha
  • 215
  • 1
  • 7

1 Answers1

3

You can analyse the size of the picture using ImageMagick's identify and then rotate it using ImageMagick's convert commandline tool.

pic=file.jpg
height=$(identify ${pic} | sed 's/.*x\([0-9]\+\)\+.*/\1/g')

if [[ $height -gt 7000 ]]; then
  convert ${pic} -rotate 90 ${pic}_rotated
fi

The second line extract the height from the output of indentify. The if-clause check if that value is greater than 7000 and then rotates the image 90°.

chaos
  • 47,463
  • 11
  • 118
  • 144
  • 4
    No need for `sed`, just user `-format` option to output only image height: `identify -format "%h"` – jimmij Feb 13 '15 at 09:30