Por que você não usa o awk para isso? ou seja,
echo "Number=3247 ; speed=343 434 " | awk {'print $1'}
E se você realmente precisa do "na frente, use
echo "Number=3247 ; speed=343 434 " | awk {'print "\"" $1'}
EDITAR: Após o feedback (veja os comentários abaixo), aqui a versão correta com o sed:
echo "NUMBER = 3247 FULL DUPLEX ; speed=343 434 " | sed 's/\;.*//g'