删除两个不同分隔符之间的字符串

删除两个不同分隔符之间的字符串

当冒号和逗号之间包含数字时,想要消除数字和前面的冒号。

我的示例文本(实际数据要大得多):

(fa___537:50.0,(fa___542:100.0,((

期望的输出:

(fa___537,(fa___542,((

我不幸的尝试

sed -i 's/\:....\,/\,/g' myfile

答案1

希望这会起作用:

sed -i 's/:[0-9]*\.[0-9]*,/,/g' YourFile

答案2

这是根据 SC 的输入进行了相当简化的更新版本:

sed -e '
   s/[:][0-9]\{1,\}[.]\{0,1\}[0-9]*[,]/\
/g
   s/[:][.][0-9]\{1,\}[,]/\
/g
   y/\n/,/
' 

相关内容