如何根据具有重复行的公共字段合并/连接两个文件

如何根据具有重复行的公共字段合并/连接两个文件

我有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

相关内容