首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将两个字符的列读取为两个单独的列。

将两个字符的列读取为两个单独的列。
EN

Unix & Linux用户
提问于 2014-11-30 15:17:01
回答 1查看 1K关注 0票数 4

我有一个带有基因型数据的文件。第二列具有特定遗传变异的两个等位基因,如下所示。

代码语言:javascript
复制
rs969931    CA  1.000   2.000   2.000   2.000   2.000   2.000   1.000   1.000
rs2745406   CT  0.000   2.000   2.000   1.000   1.000   2.000   1.000   1.000
rs6939431   AG  0.000   0.000   0.000   0.000   0.000   0.000   1.000   0.000
rs1233427   AG  1.000   2.000   2.000   2.000   2.000   1.000   1.000   1.000
rs1233426   AG  1.000   2.000   2.000   2.000   2.000   1.000   1.000   1.000
rs1233425   GC  1.000   1.999   1.999   2.000   2.000   2.000   1.000   1.000
rs362546    GA  1.000   2.000   2.000   2.000   2.000   1.000   1.000   1.000
rs909968    AG  0.000   2.000   2.000   1.000   1.000   1.000   1.000   1.000
rs909967    GA  1.000   2.000   2.000   2.000   2.000   2.000   1.000   1.000
rs886381    AG  0.000   0.000   0.000   0.000   0.000   0.000   0.000   1.000

我需要创建一个新文件,将等位基因作为两个单独的列,即将第二列拆分为两列。下面的期望输出。有办法在awk中指定多个字段分隔符来实现这一点吗?

代码语言:javascript
复制
rs969931    C A  1.000  2.000   2.000   2.000   2.000   2.000   1.000   1.000
rs2745406   C T  0.000  2.000   2.000   1.000   1.000   2.000   1.000   1.000
rs6939431   A G  0.000  0.000   0.000   0.000   0.000   0.000   1.000   0.000
rs1233427   A G  1.000  2.000   2.000   2.000   2.000   1.000   1.000   1.000
rs1233426   A G  1.000  2.000   2.000   2.000   2.000   1.000   1.000   1.000
rs1233425   G C  1.000  1.999   1.999   2.000   2.000   2.000   1.000   1.000
rs362546    G A  1.000  2.000   2.000   2.000   2.000   1.000   1.000   1.000
rs909968    A G  0.000  2.000   2.000   1.000   1.000   1.000   1.000   1.000
rs909967    G A  1.000  2.000   2.000   2.000   2.000   2.000   1.000   1.000
rs886381    A G  0.000  0.000   0.000   0.000   0.000   0.000   0.000   1.000
EN

回答 1

Unix & Linux用户

发布于 2014-11-30 15:26:56

gsub中使用awk

代码语言:javascript
复制
awk 'gsub(""," ",$2)1' file

结果:

代码语言:javascript
复制
rs969931  C A  1.000 2.000 2.000 2.000 2.000 2.000 1.000 1.000
rs2745406  C T  0.000 2.000 2.000 1.000 1.000 2.000 1.000 1.000
rs6939431  A G  0.000 0.000 0.000 0.000 0.000 0.000 1.000 0.000
rs1233427  A G  1.000 2.000 2.000 2.000 2.000 1.000 1.000 1.000
rs1233426  A G  1.000 2.000 2.000 2.000 2.000 1.000 1.000 1.000
rs1233425  G C  1.000 1.999 1.999 2.000 2.000 2.000 1.000 1.000
rs362546  G A  1.000 2.000 2.000 2.000 2.000 1.000 1.000 1.000
rs909968  A G  0.000 2.000 2.000 1.000 1.000 1.000 1.000 1.000
rs909967  G A  1.000 2.000 2.000 2.000 2.000 2.000 1.000 1.000
rs886381  A G  0.000 0.000 0.000 0.000 0.000 0.000 0.000 1.000
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/170691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档