-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