水平画像と垂直画像を分離して移動するシェルスクリプト

水平画像と垂直画像を分離して移動するシェルスクリプト

イメージディレクトリがありますjpg。すべての水平画像を1つのディレクトリに移動し、すべての垂直画像を別のディレクトリに移動するシェルスクリプトはありますか(またはbash許可zshされていますか?)

ベストアンサー1

比率の確認など、高さと幅を比較するために特殊演算子でimagemagicksを使用できます。identifyfxh/w

for f in ./*.jpg
do
  r=$(identify -format '%[fx:(h/w)]' "$f")
  if (( r > 1 )) 
  then
      mv "$f" /path/to/portraits
  elif  (( r < 1 ))
  then
      mv "$f" /path/to/landscapes
  fi
done
# mv ./*.jpg /path/to/squares

これにより、現在のディレクトリに正方形の画像が保持されます。最後の行のコメントを外して、そのディレクトリに移動します。または、水平方向または垂直方向に含めるには、比較演算子の1つをまたは<=に変更します>=

おすすめ記事