gpt4 book ai didi

python - 匹配 2 个文件中的字符串,如果匹配则返回文件 2 中上面的行

转载 作者:行者123 更新时间:2023-12-01 03:18:10 25 4
gpt4 key购买 nike

我在文件 1 中有一个电子邮件地址列表,我正在尝试在文件 2 中查找这些电子邮件地址(来自文件 1)。如果电子邮件地址在文件 2 中,我希望它返回上面的行,这是他们的用户名。例如:

这是文件 1:

test@test.com
bob@test.com
sally@test.com
eve@test.com

这是文件 2:

testing
test@test.com
robert
bob@test.com
sally
sally@test.com
eve92
eve@test.com

我希望输出是:

testing
robert
sally
eve92

我正在研究awk,但似乎无法弄清楚。关于如何最好地做到这一点有什么想法吗?愿意通过 bash 或 python 或任何你认为最好的方式来完成。谢谢!

最佳答案

这是实现您想要的功能的稳健、高效的方法:

$ awk 'NR==FNR{a[$1];next} NR%2{prev=$0;next} $1 in a{print prev}' file1 file2
testing
robert
sally
eve92

它从电子邮件地址中删除前导/尾随空白,对两个文件中的整个电子邮件地址进行字符串(而不是正则表达式)匹配,并且仅将电子邮件地址与 file2 的每第二行进行比较,因此出现的可能性为零错误匹配和错过真正匹配的可能性为零。

关于python - 匹配 2 个文件中的字符串,如果匹配则返回文件 2 中上面的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42259527/

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