Sério, obrigado por responder a todos! Eu voltei a isso, mais experiente, e a maioria dos comentários aqui faz mais sentido agora.
Eu ajustei o script do @ zatatlan um pouco para acomodar espaços em nomes de arquivos e adicionar mais extensões de arquivo.
#!/bin/bash
for image in *.jpg *.JPG *.jpeg *.JPEG *.gif *.GIF *.bmp *.BMP *.png *.PNG;
do res=$(identify -format %wx%h\n "$image");
mkdir -p $res;
mv "$image" $res;
done