【发布时间】:2015-05-07 10:34:11
【问题描述】:
我想查找 file1 中的字段 1 和 2 与 file2 中的字段 1 和 4 匹配的行,然后打印这些字段与 file2 匹配的所有行。我正在使用:
awk 'FNR==NR{a[$1];b[$2];next} $1 in a && $4 in b' file1 file2 > output
我遇到了一个问题,其中输出包含两个文件中的字段匹配的行,但不在同一行中。例如,当行(下面)在 file1 中时:
15 70589272 rs12148337 15 70589272 rs12148337 1
并且行(下面)在file2中:
10 rs181419901 0 70589272 4 2
即使字段 1 不匹配,输出也包含来自 file2 的行(上图)。表面上是因为 field1 确实在另一行中匹配。我可以将命令限制为打印两个字段仅在同一行内匹配的行吗?
【问题讨论】:
标签: awk