なんか限定的な用途ですが、表題まま。Stable Diffusionとかで絵をいっぱい作ってるとやりたいことがあるので。なおChatGPTに教えてもらった模様。
目次
環境
- bash
- imagemagick
スクリプト
カレントディレクトリにある横長画像をすべてlandscapeフォルダにぶちこむ。
#!/bin/bash
# landscapeフォルダが存在しない場合は作成する
if [ ! -d "landscape" ]; then
mkdir landscape
fi
# カレントディレクトリにある画像ファイルについて、横のサイズが縦のサイズよりも大きいものをlandscapeフォルダに移動する
for file in *.{jpg,jpeg,png,gif}; do
width=$(identify -format '%w' "$file")
height=$(identify -format '%h' "$file")
if [ "$width" -gt "$height" ]; then
mv "$file" landscape/
fi
done
gtなのでsquare形状は移動しない。squareも移動させたいならgeにする。またltないしleにしたら今度は縦長だけ井戸させられるけどそれだったらフォルダ名も変えたほうがいいね。
ワンライナも教えてもらったけどうまく動かんかった。まぁ個人用スクリプトに入れてPATH通したほうがいいかなと思う。
コメント