Awk 从两个文件中检索比较列的行
我尝试比较两个表,并根据两列检索匹配项: 文件1Awk 从两个文件中检索比较列的行,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
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那么不用担心,必须是服务器。我要删除这个问题。谢谢各位