2012-03-06 71 views
-3

讓我舉例說明文本文件:Python:在兩個文件中查找共同文本

例如在FILE1.TXT 的數據是: -

FILE2.TXT
qwer 
asdf 
zxcv 
1234 

的數據是: -

0987 
5678 
uiop 
qwer 
zxcv 

期望的結果:

qwer 
zxcv 

如何我得到這個結果嗎?我想使用pythongawksed

+4

在哪裏的問題? – bos 2012-03-06 14:07:28

+0

嗨,我們在linux操作系統中運行這個「comm -12 <(sort file1.txt)<(sort file1.txt)」ok,但是windows 7 os失敗了! 在Windows 7操作系統: 排序FILE1.TXT> out1.txt 排序FILE2.TXT> out2.txt COMM -12 out1.txt out2.txt 結果通 – Sam 2012-03-07 02:05:06

回答

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 
+0

好了,我們的測試是正確的,謝謝您的幫助很大 – Sam 2012-03-06 14:25:06

3

使用comm

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

隨着GAWK:

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

感謝您的支持。 – Sam 2012-03-06 14:37:30

+0

comm -12 <(sort file1.txt)<(sort file2.txt),我們用這個命令行顯示「系統找不到指定的文件」和windows 7 os 64位 – Sam 2012-03-06 15:04:53

相關問題