Remove string entre dois delimitadores diferentes

1

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
    
por jl-blancopastor 02.03.2017 / 10:50

2 respostas

3

Espero que isso funcione:

sed -i 's/:[0-9]*\.[0-9]*,/,/g' YourFile
    
por 02.03.2017 / 11:21
2

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/,/
' 
    
por 02.03.2017 / 15:02