2つの異なる列を使用して複数のファイル(2つ以上)を比較します。

2つの異なる列を使用して複数のファイル(2つ以上)を比較します。

file1、file2、file3、file4の4つのファイルがあります。各ファイルには、タブで区切られた2つの異なる列があります。 file1の最初の列(参照用)を2番目のファイルの最初の列、3番目、4番目のファイルと一致させ、一致する最初の列と各ファイルの一致する最初の列を2番目の列に印刷したいと思います。ファイルは次のとおりです。

ファイル1

Bm1_00085|Bm1_22625    0.263974289
Bm1_00087|Bm1_22620    0.663443490    

ファイル2

Bm1_00085|Bm1_22625    0
Bm1_57630|Bm1_52870    0

ファイル3

Bm1_57630|Bm1_54855    0
Bm1_00085|Bm1_22625    4

ファイル4

Bm1_57630|Bm1_52870    0
Bm1_00085|Bm1_22625    1

出力:

Bm1_00085|Bm1_22625 0.263974289 0 4 1

ベストアンサー1

join次の処理方法がわかるほどスマートなシェルを使用してください<(...)

join <(sort file1) <(sort file2) | join - <(sort file3) | join - <(sort file4)

出力:

Bm1_00085|Bm1_22625 0.263974289 0 4 1

おすすめ記事