将文件中的序列ID替换为下面提到的新ID

时间:2016-06-07 09:21:46

标签: awk

我有一个看起来像这样的文件

unitig_1747    675
unitig_322     119    496
unitig_323     890    571    3178   50
unitig_320     50     3635

我想像这样修改

unitig_1747_1_675
unitig_322_1_119    
unitig_322_2_496
unitig_323_1_890
unitig_323_2_571
unitig_323_3_3178
unitig_323_4_50
unitig_320_1_50
unitig_320_2_3635

1 个答案:

答案 0 :(得分:1)

这个awk one-liner做到了:

awk '{for(i=2;i<=NF;i++)printf "%s_%d_%s\n",$1,i-1,$i}' file

输出:

unitig_1747_1_675
unitig_322_1_119
unitig_322_2_496
unitig_323_1_890
unitig_323_2_571
unitig_323_3_3178
unitig_323_4_50
unitig_320_1_50
unitig_320_2_3635

如果您的文件已TAB分开,请在-F'\t'之后添加awk