我通过进化树绘制软件采用贝叶斯算法得到了nexus格式的进化树文件,现在要对其k值进行预处理,如若k值大于2,将全部赋予数值2,
发现所有的K值均有如下模式特征[&k=浮点数],尝试先用grep、sed、awk 进行正则表达式提取,发现老不成功,
sed 's/^=\d+.?\d*/' H1N1_k.tree
grep '[(.*?)]' H1N1_k.tree
awk -F '[&k=]'grep '[&k=*]' H1N1_k.tree '{print $0}' H1N1_k.tree
均不奏效
我想先通过提取中括号内的内容再进一步筛选,采用if 判别,进行批量替换
所有K值>2的部分都要赋值为2