我有一个包含基因 ID 的列表,其数字属性如下:
输入文件:
Solyc02g080080.3.1 Solyc02g082880.2.1 0.935486990245651 0.00610864337672501
Solyc02g079533.1.1 Solyc02g082880.2.1 0.929128021921794 0.00735626670839373
Solyc02g080670.3.1 Solyc02g082880.2.1 0.973014871168575 0.00108247051974075
我想删除“.”从前两列开始,不影响最后两列
输出:
Solyc02g080080 Solyc02g082880 0.935486990245651 0.00610864337672501
Solyc02g079533 Solyc02g082880 0.929128021921794 0.00735626670839373
Solyc02g080670 Solyc02g082880 0.973014871168575 0.00108247051974075
我尝试过使用: ojit_代码
但只打印第一列。任何建议都将不胜感激。谢谢
最佳答案
$ awk '{for (i=1;i<=2;i++) sub(/\..*/,"",$i)} 1' file
Solyc02g080080 Solyc02g082880 0.935486990245651 0.00610864337672501
Solyc02g079533 Solyc02g082880 0.929128021921794 0.00735626670839373
Solyc02g080670 Solyc02g082880 0.973014871168575 0.00108247051974075
关于awk - 有选择地删除小数位的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52029124/