Python:在两个文件中查找公共文本

时间:2012-03-06 14:06:26

标签: python sed gawk

让我给出示例文本文件:

e.g。 在 file1.txt 中数据为: -

qwer
asdf
zxcv
1234
file2.txt 中的

数据为: -

0987
5678
uiop
qwer
zxcv

期望的结果:

qwer
zxcv

我如何得到这个结果?我想使用pythongawksed

2 个答案:

答案 0 :(得分:5)

我会为此使用Python集:

file1 = set(line.strip() for line in open('file1.txt'))
file2 = set(line.strip() for line in open('file2.txt'))

for line in file1 & file2:
    if line:
        print line

答案 1 :(得分:3)

使用comm

comm -12 <(sort file1.txt) <(sort file2.txt)

gawk:

gawk 'NR==FNR {file1[$0]++; next} $0 in file1' file1.txt file2.txt