awk - 有选择地删除小数位的命令
问题描述
我有一个带有数字属性的基因 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
我试过使用:
awk -F. '{print $1}' file
但这仅打印第一列。非常感谢任何建议。谢谢
解决方案
$ 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
推荐阅读
- c++ - 为什么在 c++ 中计算重复元素时,我的计数值大于数组中的元素数?
- c - fgets 不从文件中读取字符串
- azure - 带有 blobfuse 或 Azure 存储 Blob 的 Azure 容器实例
- google-cloud-platform - Google Cloud IAM 中缺少 Cloud Function 用户代理角色
- c++ - How to select second listbox
- typescript - 类型参数不可分配给类型参数
- php - PHP - PRINTF 不打印数组 $variable[$i]
- wordpress - WordPress get_posts 在“init”期间调用时不返回任何内容
- python - 具有列名的文件数据绑定
- angular - Ionic 4 组件在发生更改之前不会渲染。在 chrome 中工作,但不能通过 Ionic DevApp