Eu faria assim:
sed -E 's|(.*/)([^/]*)(/\?\$.*)/{,1}|()$1|' infile
O segundo grupo captura a string / padrão que tem que ser colocada em (...) , o terceiro grupo captura tudo o que segue até a mesma string (backreferenced com no LHS) que pode ter uma barra final. Então, basicamente, isso substitui {0 or 1 slash} por ()$1 .
Se o seu sed não suportar regex estendido por meio de -E :
sed 's|\(.*/\)\([^/]*\)\(/?\$.*\)/\{,1\}|()$1|' infile