在unix中通过单个列合并两个文件

Cad*_*ama 15 unix linux merge

我想在unix中将两个文件合并为一列.

我有file_a:

subjectid name age  
12 Jane 16  
24 Kristen 90  
15 Clarke 78  
23 Joann 31  
Run Code Online (Sandbox Code Playgroud)

我有另一个file_b:

subjectid prob_disease  
12 0.009  
24 0.738  
15 0.392  
23 1.2E-5  
Run Code Online (Sandbox Code Playgroud)

我想在命令行中合并这些文件.我想通过subjectid合并文件a和b.由于每个文件大约有200万行,我试过R但由于数据量大而冻结,有人可以帮我在linux中做这个吗?期望的输出:

subjectid prob_disease name age  
12 0.009 Jane 16  
24 0.738 Kristen 90   
15 0.392 Clarke 78  
23 1.2E-5 Joanna 31     
Run Code Online (Sandbox Code Playgroud)

请帮助,谢谢!

Car*_*rum 14

退房join(1).在您的情况下,您甚至不需要任何标志:

$ join file_b file_a
subjectid prob_disease name age
12 0.009 Jane 16
24 0.738 Kristen 90
15 0.392 Clarke 78
23 1.2E-5 Joann 31
Run Code Online (Sandbox Code Playgroud)

  • 只要行已经按ID排列,这就行得很好,如果没有,则需要对它们进行排序. (2认同)