$ sed -e 's/\(.\)\(..\)\(..\)/../' -e 's/\.0/./g' file
4.17.3
1.0.2
3.0.3
4.0.2
4.0.0
2.2.3
2.2.3
3.1.0
5.0.0
5.0.0
5.0.0
5.0.0
7.7.0
7.6.0
A primeira substituição sed cria x.yy.zz de xyyzz . Ele faz isso capturando os três grupos de caracteres em grupos de captura separados (o \(.\) e os dois \(..\) em que cada ponto corresponde a um único caractere) e os insere novamente com pontos entre eles.
A segunda substituição remove qualquer zero imediatamente após um ponto.