Você só precisa escapar do ponto no comando sed e tudo ficará bem.
Assim:
sed 's/\.$//'
Como no caso de você não escapar, .$ corresponderá a qualquer caractere no final da string.
Você também pode colocar todos os seus sed + grep + cut em apenas um sed :
sed 's=/[^/]*$==;s/\.$//' filename