Supondo que você tenha uma única letra após sd , não é necessário usar find .
Em bash você pode fazer
shopt -s nullglob
for dev in /dev/sd[!a]; do
echo "$dev"
done
A primeira linha é não ter saída quando não houver correspondência.
Editar
Para se estender a um número indeterminado de letras, o glob poderia ser
printf '%s\n' /dev/!(sda|*[0-9])
onde !(pattern) significa tudo menos padrão , e os padrões excluídos são, no caso específico sda e *[0-9] (tudo terminando em um número).
As globs estendidas devem ser ativadas para que isso funcione (por exemplo, shopt -s extglob ).