gpt4 book ai didi

linux - 查找两个文件的列中具有相同值的行

转载 作者:太空宇宙 更新时间:2023-11-04 06:00:03 24 4
gpt4 key购买 nike

我有两个文件(数百万列)

File1.txt,约 4k 行

some_key1 some_text1
some_key2 some_text2
...
some_keyn some_textn

File2.txt,约 2000 万行

some_key11 some_key11 some_text1
some_key22 some_key22 some_text2
...
some_keynn some_keynn some_textn

File1.txt 中的第 2 列与 File2.txt 中的第 3 列完全匹配时,我想打印出两个文件中的特定行。

编辑

我已经尝试过这个(我忘记写了)但它不起作用

awk 'NR{a[$2]}==FNR{b[$3]}'$1 in a{print $1}' file1.txt file2.txt

最佳答案

您需要修复您的 awk 程序

如果字段 1(文件 1)存在于字段 3(文件 2)中,则打印文件 2 中的所有记录:-

awk 'NR==FNR{A[$2];next}$3 in A' file1.txt file2.txt
some_key11 some_key11 some_text1
some_key22 some_key22 some_text2
...
some_keynn some_keynn some_textn

如果字段 1(文件 1)存在于字段 3(文件 2)中,则仅打印文件 2 中的字段 1:-

awk 'NR==FNR{A[$2];next}$3 in A{ print $1 }' file1.txt file2.txt
some_key11
some_key22
...
some_keynn

关于linux - 查找两个文件的列中具有相同值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47461202/

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