Awk 从两个文件中检索比较列的行

Awk 从两个文件中检索比较列的行,awk,Awk,我尝试比较两个表,并根据两列检索匹配项: 文件1 0.736 5 100 T 0.723 1 15 T 0.792 6 100 T 0.634 3 100 T 0.754 7 100 T 0.708 2 100 T 0.722 9 100 T 0.542 1 6 T 文件2 0.736 5 0.634 3 0.542 1 输出 0.736 5 100 T 0.634 3 100

我尝试比较两个表,并根据两列检索匹配项:

文件1

0.736   5   100 T
0.723   1   15  T
0.792   6   100 T
0.634   3   100 T
0.754   7   100 T
0.708   2   100 T
0.722   9   100 T
0.542   1   6   T
文件2

0.736   5   
0.634   3   
0.542   1   
输出

0.736   5   100 T
0.634   3   100 T
0.542   1   6   T
当我尝试这段代码时,它告诉我找不到awk,这没有意义,因为我经常使用awk。。你能帮我找出这里的错误吗

awk 'FNR==NR{a[$1,$2]=$0;next}{if(b=a[$1,$2]){print b}}' file1 file2> output

您可以使用
grep

grep -f file2 file1
awk

awk 'NR==FNR{A[$1];next}$1 in A' file2 file1

希望这对您有所帮助:)

复制/粘贴您遇到问题的完整的实际错误消息。尝试
awk'BEGIN{print“hi”;exit}
-这会给你同样的错误吗?
哪个awk
(或者
哪里awk
或者
从哪里awk
或者您在路径中查找命令时使用的任何其他工具)告诉您什么?这是一个简单的
-bash:​awk:command not found
错误。是的,你给我的代码很好用。每次我使用awk时,它都可以正常工作,除了这个代码,我只是在我的系统上运行了你的
awk
,没有任何问题<代码>GNU awk 4.0.1那么不用担心,必须是服务器。我要删除这个问题。谢谢各位