2つの追加列を持つファイルを大きなテーブルに追加しますか?

2つの追加列を持つファイルを大きなテーブルに追加しますか?

同じ数(長さ48554)の非常に大きなファイルに2つの列(1つのファイル内)を貼り付ける必要があります。私はこれを試しました

タブで区切られた列を持つ2つのファイルがあります。ファイル1は次のようになります。

ヘッダ_1 ヘッダ_2

0 23

1 25

ファイル2は次のようになります。

Header_3 header_4

2 24

3 26

私が望むのはこれです:

Header_1 header_2 Header_3 header_4

0 23 2 24

1 25 3 26

たとえば、貼り付けようとしました。

ファイル1ファイル2貼り付け|

  • しかし、私はそれを理解します:
Header_1 header_2

0 23

1 25 Header_3

header_4

2 24

3 26
  • つまり、問題は、必要に応じて+ 5000列の行列で2つの追加の列を並べて追加するのではなく、貼り付けがファイル2の新しい列をファイル1の最後の列の下部に追加することです。

    私は何が間違っていましたか?

答え1

区切り文字はタブではなく空白のように見えますが、paste私はうまくいきます。

試してみる代替案

join <(nl file1) <(nl file2) | cut -d' ' -f2-5

または

awk '{ if (FNR==NR) {F[NR]=$1;G[NR]=$2; next}; {printf "%s\t%s\t%s\t%s\n", $1, $2, F[FNR], G[FNR]}}' file2 file1

答え2

実際には、両方のファイルをテーブル/データフレームにインポートしてRで動作させることができます。

 file1<-read.table("file1.txt") 
 file2<-read.table("file2.txt")

次に cbind を使用します。

combined.txt <- cbind(file1, file2)

しかし、私にも効果的な単純なUNIX機能がないことを理解するのが難しいです。

関連情報