重複行を含む共通フィールドに基づいて2つのファイルをマージ/結合する方法

重複行を含む共通フィールドに基づいて2つのファイルをマージ/結合する方法

2つのファイルがあります。

file1

SC  65.696  618
SC  61.92   625
KN  82.546  1037
KN  82.946  1032
KN  82.849  1032
CN  70.55   618

そして

file2

SC  SC7  SCARE      588     2       75702
KN  KN4  Kines     1033     2   1   3635
CN  CNGC Prote      703     2       3880

列1と繰り返される行に基づいて結合する必要があります

file3

SC  65.696  618     SC  SC7     SCARE   588     2       75702
SC  61.92   625     SC  SC8     SCARE   588     2       75703
KN  82.546  1037    KN  KN4     Kines   1033    2   1   3635
KN  82.946  1032    KN  KN5     Kines   1033    2   1   3636
KN  82.849  1032    KN  KN6     Kines   1033    2   1   3637
CN  70.55   618     CN  CNGC    Prote   703     2       3880


よろしくお願いします。

答え1

これはデフォルトの動作ですjoin

$ join <(sort file1) <(sort file2)
CN 70.55 618 CNGC Prote 703 2 3880
KN 82.546 1037 KN4 Kines 1033 2 1 3635
KN 82.849 1032 KN4 Kines 1033 2 1 3635
KN 82.946 1032 KN4 Kines 1033 2 1 3635
SC 61.92 625 SC7 SCARE 588 2 75702
SC 65.696 618 SC7 SCARE 588 2 75702

関連情報