2013-09-21 136 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