gpt4 book ai didi

awk - 使用 awk 比较两个文件中的两列

转载 作者:行者123 更新时间:2023-12-01 16:19:51 25 4
gpt4 key购买 nike

我正在尝试以这种方式比较两个不同的文件,比如说“file1”和“file2”。如果两个文件中的字段 $2 和 $3 相同,则打印 file2 的 $0。这是一个例子:

file1
E 352 697
E 25 692
E 510 744

file2
E 335 705 1 1
E 267 792 1 2
E 365 395 1 3
E 25 692 1 4
E 566 624 1 5
E 227 358 1 6
E 516 554 1 7
E 510 744 1 8
E 234 790 1 9
E 352 697 1 10

期望的输出:

E 352 697 1 10
E 25 692 1 4
E 510 744 1 8

请注意,file1 中的所有对 $2,$3 都包含在 file2 中,并且输出文件的行数与 file1 相同。我知道有很多类似问题的问题,但所有答案都没有用。我尝试过使用:

awk 'FNR==NR {a[$2]; b[$3]; next} $2 in a && $3 in b' file1 file2 > output

它可以工作,但在输出文件中有额外的行。你可以帮帮我吗?谢谢!

最佳答案

awk 'NR==FNR{a[$2,$3];next} ($2,$3) in a' file1 file2

关于awk - 使用 awk 比较两个文件中的两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27637951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com