Você pode usar o operador fx
para filtrar imagens com base em altura & largura , por exemplo,
identify -format '%[fx:(h=1000 && w=1000)]\n' image.jpg
produzirá 1
se a imagem for exatamente 1000x1000
e 0
caso contrário.
Então você pode executar algo assim (ajuste o comando convert
conforme suas necessidades):
for image in ./*.jpg; do
identify -format '%[fx:(h=1000 && w=1000)]\n' "$image" | grep -q 0 \
&& convert -resize 1000x1000 "$image" "${image%.*}"-converted.jpg
done