Como os dois ,
s em (,\)\(,\)
, você já correspondeu aos dois primeiros ,
s e o padrão Regex correspondido até agora não voltará atrás para o resto da linha. Apenas um é deixado agora que é o último ,
, portanto ele é impresso como está sem qualquer *
entre o segundo último.
Se você tiver outro ,
na entrada, você obterá a resposta desejada (global, g
):
% echo ,,,, | sed s':\(,\)\(,\):*:'g
,*,,*,