How to move all images to other directory based on file content, ignoring the filename

This command will identify all image files in a directory recursively using the file command (looking for image/* MIME types) and move those to a different directory.

mkdir -p ../Images && find . -type f -exec sh -c '
    case $( file -bi "$1" ) in (image/*) exit 0; esac
    exit 1' sh {} \; -exec mv -v --backup=numbered {} ../Images \;

 

Based on this StackExchange post. Also see How to move all audio files to other directory based on file content, ignoring the filename and How to move all videos to other directory based on file content, ignoring the filename