Python 如何从两个文本文件之间的单个列中找到前三位匹配模式
我想在两个文本文件之间匹配第二列($2)的前三位数字(例如:132*****)。谁能给我推荐一下做这件事的剧本吗 输入文件1:Python 如何从两个文本文件之间的单个列中找到前三位匹配模式,python,regex,bash,shell,awk,Python,Regex,Bash,Shell,Awk,我想在两个文本文件之间匹配第二列($2)的前三位数字(例如:132*****)。谁能给我推荐一下做这件事的剧本吗 输入文件1: 9 73316991 73352391 DEL 99 35401 9 96058269 96059400 DEL 99 1132 9 132186937 132206288 DUP 99 19352 9 138338172 138339132 DEL 99 961 输入文件2: 9 132185894 132209127 DUP 99 23234 9 14
9 73316991 73352391 DEL 99 35401
9 96058269 96059400 DEL 99 1132
9 132186937 132206288 DUP 99 19352
9 138338172 138339132 DEL 99 961
输入文件2:
9 132185894 132209127 DUP 99 23234
9 140495212 140496044 DEL 99 833
9 136625162 136626293 DEL 99 1132
输出文件3:
9 132185894 132209127 DUP 99 23234
您可以像这样使用
awk
:
awk 'FNR==NR{a[substr($2,1,3)];next} substr($2,1,3) in a' file1 file2
9 132185894 132209127 DUP 99 23234
我们不会为你做你的工作。在你的bash中键入
man grep
,看看这是否是你所需要的。非常感谢!。另外,是否可以在五个不同的文件中搜索同一种模式作为输入?这将非常有用。“是否可能?”的答案总是“是”。非常感谢!。另外,是否可以在五个不同的文件中搜索相同类型的模式作为输入?这将非常有用。这是可能的,但您不能通过注释添加新问题。如果答案正确,您可以单击我答案左上角的勾号,将答案标记为已接受。您是否尝试在file1 file2后面再添加3个文件名?
awk '{key=substr($2,1,3)} NR==FNR{a[key];next} key in a' file1 file2