在linux中使用grep中的两个文件提取条目

Chu*_*dar 0 linux awk grep

我有两个文本文件如下:

file_1:
12567 1e-3
4567  1e-5
189   22e-4
8743  .365
3456  1e-9

file_2:
BO:0012567
BO:0084567
BO:0004567
BO:0001890
BO:0000189
BO:0007812
BO:0008743
BO:0134568  
BO:0003456
BO:0006789
Run Code Online (Sandbox Code Playgroud)

我想提取file_2的条目,它与file_1的第一列的确切条目匹配.这是我想要的输出

 output
BO:0012567 1e-3
BO:0004567 1e-5
BO:0000189 22e-4
BO:0008743 .365
BO:0003456 1e-9
Run Code Online (Sandbox Code Playgroud)

我尝试grep -f file_1 file_2 > output.txt在linux中但它获取了完美和部分匹配的所有条目.我只想要那些完全匹配的条目,没有任何数字从file_2引出或拖尾.请指导我.提前致谢

kar*_*kfa 5

awk 救援!

$ awk 'NR==FNR  {a[$1]=$2; next} 
      $2+0 in a {print $1 FS $2,a[$2+0]}' file1 FS=: file2

BO:0012567 1e-3
BO:0004567 1e-5
BO:0000189 22e-4
BO:0008743 .365
BO:0003456 1e-9
Run Code Online (Sandbox Code Playgroud)