Espero que isso funcione:
sed -i 's/:[0-9]*\.[0-9]*,/,/g' YourFile
Deseja eliminar números e dois pontos anteriores quando os números estiverem entre dois pontos e uma vírgula.
meu texto de exemplo (dados reais são muito maiores):
(fa___537:50.0,(fa___542:100.0,((
resultado desejado:
(fa___537,(fa___542,((
Minha desafortunada tentativa
sed -i 's/\:....\,/\,/g' myfile
Aqui está a versão atualizada, que é consideravelmente simplificada com base nas entradas de S.C.:
sed -e '
s/[:][0-9]\{1,\}[.]\{0,1\}[0-9]*[,]/\
/g
s/[:][.][0-9]\{1,\}[,]/\
/g
y/\n/,/
'
Tags sed regular-expression