2016-06-21 70 views
1

我有兩個已填充python模塊和版本號的已排序文本文件。在這種格式:在兩個文本文件中查找類似的行?

Cython==0.21 
DataShape==0.3.0 
Flask==0.10.1 
Jinja2==2.7.3 
MarkupSafe==0.23 
PIL==1.1.7 

我想比較,看看他們有什麼共同點。

我知道這會給我他們究竟在共同

comm -12 file1 file2 

但我也想知道他們的共同點是什麼模塊,即使版本號不同。有沒有簡單的方法來做到這一點?

回答

1

所以我找不到一個特定的命令,所以我只寫了一個快速的python腳本來解析文件,只給出「=」之前的部分,然後用comm來比較這些新文件。

0

既然你顯然是在Linux中,你可以用sed,排序和uniq的他們(這取決於bash進程subsntitution,你可以寫間歇性的文件,如果你需要):

diff <(awk -F= '{ print $1 }' firstfile.txt | sort | uniq) <(awk -F= '{ print $1 }' secondfile.txt | sort | uniq) 
0

如果不一定必須是單行命令,您可以使用sed

sed 's/=.*//g' file1 > file1.stripped 
sed 's/=.*//g' file2 > file2.stripped 
comm -12 file1 file2 
相關問題