[英]Compare two files with awk - check if values from two columns in file1 are included somewhere in two columns in file2
我想检查(每一行)file1(在$ 2 && $ 3列中)的值是否包含在file2(在$ 1 && $ 2列中)中。 如果是,那么我想从file1打印$ 1,$ 2,$ 3以及从file2打印$ 3(作为第4列)。
文件1:
@ 139.51 -62.48
@ 137.36 -63.36
@ 135.44 -64.09
文件2:
137.35 -63.36 6.349
137.36 -63.36 6.348
137.37 -63.36 6.346
我到目前为止:
awk 'NR == FNR {a[$1$2];c[FNR] =$3;next} $2$3 in a {print $1, $2, $3, c[FNR]}' $file2 $file1 > $output
但是不知何故,$ 4中的结果值不等于file2的第三列。 有人可以帮我吗? 非常感谢! :)
我是编程新手,并且到目前为止都使用awk和shell,所以我对解释总是很满意! 谢谢!
由于您尚未显示预期的输出,因此根据您的陈述仅编写此代码。
awk 'FNR==NR{a[$2,$3]=$0;next} (($1,$2) in a){print a[$1,$2],$NF}' fiLE1 fiLE2
输出如下。
@ 137.36 -63.36 6.348
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.