我有兩個已填充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
但我也想知道他們的共同點是什麼模塊,即使版本號不同。有沒有簡單的方法來做到這一點?
我有兩個已填充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
但我也想知道他們的共同點是什麼模塊,即使版本號不同。有沒有簡單的方法來做到這一點?
所以我找不到一個特定的命令,所以我只寫了一個快速的python腳本來解析文件,只給出「=」之前的部分,然後用comm來比較這些新文件。
既然你顯然是在Linux中,你可以用sed,排序和uniq的他們(這取決於bash進程subsntitution,你可以寫間歇性的文件,如果你需要):
diff <(awk -F= '{ print $1 }' firstfile.txt | sort | uniq) <(awk -F= '{ print $1 }' secondfile.txt | sort | uniq)
如果不一定必須是單行命令,您可以使用sed
sed 's/=.*//g' file1 > file1.stripped
sed 's/=.*//g' file2 > file2.stripped
comm -12 file1 file2