【发布时间】:2017-10-31 10:19:21
【问题描述】:
我想检查(每一行)来自 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 的第 3 列。有人可以帮我吗?非常感谢! :)
我是编程新手,到目前为止我一直在使用 awk 和 shell,所以我总是对解释感到高兴!谢谢!
【问题讨论】:
-
预期输出是什么?
-
这种情况下的预期输出应该是:@ 137.36 -63.36 6.348
-
@IsiSa,那我想你得到了答案,贴在下面:) 享受学习的乐趣。请务必在代码标签中发布您的预期输出,以方便人们使用。
-
@RavinderSingh13,非常感谢!这真的帮了我很多!感谢您的注意 - 这是我的第二个问题,所以还不太习惯 :)
-
@IsiSa,没问题,看到这个stackoverflow.com/help/someone-answers,继续在这里学习和分享知识。