我有一个包含数百万行和〜400个制表符分隔列的大文件(vcf)。与为了简洁的列数少一排被粘贴下面:awk基于分隔符从多列中选择和求和值
1/1:0,0,0:0:0,0,0,0 1/1:0,0,0:0:0,0,0,0 1/1:37,3,0:1:0,0,1,0 1/1:0,0,0:0:0,0,0,0
我想每一列与所述分隔符分割:
并打印所述第四设定值(0,0,0,0为第1栏的;第2列为0,0,0,0;第3列为0,0,1,0;依此类推)。
因此,所需的输出是:
Col1 Col2 Col3 Col4 .. Coln
0,0,0,0 0,0,0,0 0,0,1,0 0,0,0,0 .. a,b,c,d
这是太疯狂来处理awk的?我更喜欢在awk中这样做,因为我的文件在我们的unix服务器中。我可以在R中完成,不过我可以想象它需要花费大量的时间来阅读文件,分割每一列和处理等,所以我会很感激任何帮助。谢谢。
可选:为了使这更困难,可以将四个值的前两个数相加,并将四个值中的最后两个相加以得到值1,值2的列?也许我问得太多了。抱歉。在这种情况下,以下将是所需的输出:
Col1 Col2 Col3 Col4 .. Coln
0,0 0,0 0,1 0,0 .. a+b,c+d
_从第10列开始 - 为什么我必须滚动前9列才能看到牛肉?请只发布所需的部分作为输入和所需的输出。 –
@JamesBrown好点。编辑清晰。谢谢。 – berge2015