根据搜索词添加列

根据搜索词添加列

我有一个文件a:

aaa  bbb  ccc  DDD  
ads  zzz  caa  DDD  
aba  bab  cac  DAD  
aad  cca  cas  SFD  

和文件 b:

DDD  5  
DAD  13  
SFD  11

我想根据文件b向文件a添加第五列,这意味着在文件b中搜索文件a的column4的术语,并向文件a添加第五列,其中包含文件b中column2的相应值。

你能帮助我吗?

答案1

join -o 1.1,1.2,1.3,1.4,2.2 -1 4 -2 1 <(sed '1d' file1 | sort -k4) <(sed '1d' file2 | sort)

sed '1d'用于剥离标题(从顶部开始 1 行)

然后我们将字段 4 上的第一个文件与字段 1 上的第二个文件连接起来

此外,必须对文件进行排序才能使连接正常工作,因此我们在文件 1 所连接的字段上对其进行排序

-o打印输出 NM 的顺序(其中 N=文件,M=字段)

相关内容