1

次のようなファイル (test.bed) があります (タブ区切りではない可能性があります)。

chr1    10002   10116   id=1;frame=0;strand=+;  0   +
chr1    10116   10122   id=2;frame=0;strand=+;  0   +
chr1    10122   10128   id=3;frame=0;strand=+;  0   +
chr1    10128   10134   id=4;frame=0;strand=+;  0   +
chr1    10134   10140   id=5;frame=0;strand=+;  0   +
chr1    10140   10146   id=6;frame=0;strand=+;  0   +
chr1    10146   10182   id=7;frame=0;strand=+;  0   +
chr1    10182   10188   id=8;frame=0;strand=+;  0   +
chr1    10188   10194   id=9;frame=0;strand=+;  0   +
chr1    10194   10200   id=10;frame=0;strand=+; 0   +

次の出力を生成したい (タブ区切りにする必要があります):

chr1    10002   10116   id=1    0   +
chr1    10116   10122   id=2    0   +
chr1    10122   10128   id=3    0   +
chr1    10128   10134   id=4    0   +
chr1    10134   10140   id=5    0   +
chr1    10140   10146   id=6    0   +
chr1    10146   10182   id=7    0   +
chr1    10182   10188   id=8    0   +
chr1    10188   10194   id=9    0   +
chr1    10194   10200   id=10   0   +

私は次のコードで試しました:

awk 'OFS="\t" split ($0, a, ";"){print a[1],$5,$6}' test.bed 

しかし、私は得る:

chr1    10002   10116   id=1    40  4+
chr1    10116   10122   id=2    40  4+
chr1    10122   10128   id=3    40  4+
chr1    10128   10134   id=4    40  4+
chr1    10134   10140   id=5    40  4+
chr1    10140   10146   id=6    40  4+
chr1    10146   10182   id=7    40  4+
chr1    10182   10188   id=8    40  4+
chr1    10188   10194   id=9    40  4+
chr1    10194   10200   id=10   40  4+

私は何を間違っていますか?どういうわけか、最後の 2 つのフィールドに数字「4」が追加されます。数字「4」は、4 番目のフィールドでの分割と何らかの関係があるのではないかと考えましたが、分割されたのが 3 番目のフィールドである同様のファイルを作成しようとしましたが、最後に数字「4」が追加されました。 2 つのフィールド。私は「awk」にかなり慣れていないので、構文のエラーだと思います。どんな助けでも大歓迎です。

4

2 に答える 2