-1
我知道有很多方法可以使用pip更新过时的软件包,这正是我在这里试图做的。但是,我的问题是关于此表达式给出的不同输出,具体取决于我使用pip list
还是pip list -o
。我试图只匹配包名称本身。对于pip list vs pip列表,grep输出不同-o
$ pip list | grep -o '^.*\ '
arrow
backports.ssl-match-hostname
bsddb3
bzr
chardet
...
与对比:
$ pip list --outdated| grep -o '^.*\ '
chardet (Current: 2.0.1 Latest:
crypto (Current: 1.0.0 Latest:
fastimport (Current: 0.9.2 Latest:
feedparser (Current: 5.0.1 Latest:
...
我明白了。因此,我使用的表达式将所有内容都匹配到_last_空间,而不是第一个,是吗?我曾假设它会匹配第一个空间。这是默认的吗? – pak 2014-11-23 20:38:31
@pak'。*'是贪婪的,试图匹配到最后一个空格。你也可以使用一个非贪婪的匹配,比如'。*?'我已经添加了回答 – nu11p01n73R 2014-11-24 03:52:17