Primero, la reasignación de la variable es un trabajo inútil. Si ya tienes $num, ¿por qué no trabajas directamente con él?.
Segundo, tu error está en la utilización de comillas simples; debes usar dobles.
Tercero, eso te arrojaría a la salida estándar el resultado del reemplazo, no modificaría el archivo. Si quieres modificar directamente el archivo, necesitas pasar el parámetro
-i a sed.
Código BASH:
Ver original#!/bin/bash
echo "Ingrese numero"
read num
sed "s/50/${num}/g" datos.dat
# o
# sed -i "s/50/${num}/g" datos.dat
# Si quieres el reemplazo sea directamente en el archivo.