我有两个文本文件,如下所示:

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

我想提取文件2的条目,这些条目与文件1第一列的条目完全匹配。这是我想要的结果
 output
BO:0012567 1e-3
BO:0004567 1e-5
BO:0000189 22e-4
BO:0008743 .365
BO:0003456 1e-9

我在linux中尝试过grep -f file_1 file_2 > output.txt,但它获取的所有条目都是完全匹配和部分匹配的。我只想要那些完全匹配的条目,没有任何数字前导或尾从文件2。请引导我。
提前谢谢

最佳答案

去营救!

$ 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

关于linux - 在Linux中的grep中使用两个文件提取条目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41189429/

10-11 15:12