2013-09-21 54 views
0

我试图消除(巨大)制表符分隔的文本文件中两个字段之间的制表符分隔。 我的数据是这样的:消除制表符分隔的txt文件中的两个字段之间的制表符分隔

rs12345 8000 A B 
rs67890 8000 B B 
rs54321 8000 A A 
... 

我想将它变成:

rs12345 8000 AB 
rs67890 8000 BB 
rs54321 8000 AA 
... 

还有其他几列(不修改)到我想这两个权合并。

非常感谢任何能够提供帮助的人。

Luca

回答

2

下面应该可以工作(用bash)。它将第三个字段设置为第三个和第四个字段的连接值,并将第四个字段向左移一位。

awk -F$'\t' -v OFS=$'\t' '{$3=$3$4;for(i=4; i<NF; ++i) $i=$(i+1);NF=NF-1;print}' 
0
cat file 
rs12345 8000 A  B  test 2332 
rs67890 8000 B  B  ew  45 
rs54321 8000 A  A  dfdfg 34 

设置申请$ 3 $ 3 $ 4和删除了$ 4和额外的标签

awk '{$3=$3$4;$4="";sub("\t\t","\t")}1' OFS="\t" file 
rs12345 8000 AB  test 2332 
rs67890 8000 BB  ew  45 
rs54321 8000 AA  dfdfg 34 
相关问题