nexus格式贝叶斯树文件处理

问题遇到的现象和发生背景

我通过进化树绘制软件采用贝叶斯算法得到了nexus格式的进化树文件,现在要对其k值进行预处理,如若k值大于2,将全部赋予数值2,

问题相关代码,请勿粘贴截图

img

发现所有的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