我想计算两个列表的差异:
$ pip list > package1.md
Package Version
---------------------------------- ---------
alabaster 0.7.10
anaconda-client 1.6.9
anaconda-navigator 1.7.0
anaconda-project 0.8.2
appnope 0.1.0
....
$ pip3 list > package2.md
Package Version
---------------------------------- ---------
alabaster 0.7.10
anaconda-client 1.6.9
anaconda-navigator 1.7.0
anaconda-project 0.8.2
appnope
...
查找安装在 package1 中但未安装在 package 2 中的软件包。
如何完成这样的任务呢?
答案1
和comm
命令:
comm -23 <(sort package1.md) <(sort package2.md)
答案2
使用差异(1)。您可能需要使用 sort(1) 进行预处理,并且可能使用 tail(1) 来切断标头。