0

我试图消除(巨大的)制表符分隔的文本文件中两个字段之间的制表符分隔。我的数据如下所示:

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

我想把它变成:

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

我想合并的两个列的右侧还有其他几个列(不修改)。

非常感谢任何可以提供帮助的人。

卢卡

4

2 回答 2

2

以下应该有效(使用bash)。它将第三个字段设置为第三个和第四个字段的连接值,并将第四个字段左移一位。

awk -F$'\t' -v OFS=$'\t' '{$3=$3$4;for(i=4; i<NF; ++i) $i=$(i+1);NF=NF-1;print}' 
于 2013-09-21T23:09:29.837 回答
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
于 2013-09-22T08:40:28.030 回答