次の列を持つ次の行列があります。
TRINITY_DN12001_c0_g1_i3^ARC3_ARATH^MORN 1.52 1.20 1.25
TRINITY_DN109651_c0_g1_i1 12.38 32.55 62.98 37.92 9.05
TRINITY_DN26469_c0_g1_i1 1.91 0.00 2.62 2.92 2.22
各行について、最初の列(TRINITY_DN12001_c0_g1_i3)の一部を抽出し、そのIDで新しい列を作成したいと思います。私は新しいマトリックスが以前から抽出されたIDだけを持って本質的に同じであることを望みます。 awkを使うべきだと思いますが、この数字で何をすべきかわかりません。私はそれが次のように見えるようにしたいです:
TRINITY_DN12001_c0_g1_i3 TRINITY_DN12001_c0_g1_i3^ARC3_ARATH^MORN 1.52 1.20 1.25
TRINITY_DN109651_c0_g1_i1 TRINITY_DN109651_c0_g1_i1 12.38 32.55 62.98 37.92 9.05
TRINITY_DN26469_c0_g1_i1 TRINITY_DN26469_c0_g1_i1 1.91 0.00 2.62 2.92 2.22
どんな助けでも大変感謝します。
答え1
この方法があなたに合っているかどうか教えてください。
sed 's/\([^\^ ]*\)/\1 \1/' file | tr -s ' '
出力:
TRINITY_DN12001_c0_g1_i3 TRINITY_DN12001_c0_g1_i3^ARC3_ARATH^MORN 1.52 1.20 1.25
TRINITY_DN109651_c0_g1_i1 TRINITY_DN109651_c0_g1_i1 12.38 32.55 62.98 37.92 9.05
TRINITY_DN26469_c0_g1_i1 TRINITY_DN26469_c0_g1_i1 1.91 0.00 2.62 2.92 2.22
これは予想される出力と一致します。
TRINITY_DN12001_c0_g1_i3 TRINITY_DN12001_c0_g1_i3^ARC3_ARATH^MORN 1.52 1.20 1.25
TRINITY_DN109651_c0_g1_i1 TRINITY_DN109651_c0_g1_i1 12.38 32.55 62.98 37.92 9.05
TRINITY_DN26469_c0_g1_i1 TRINITY_DN26469_c0_g1_i1 1.91 0.00 2.62 2.92 2.22