Bash
使用正則表達式獲取最新的 pip 包版本
我正在嘗試解析此 pip install 的輸出以獲取最新的軟體包版本。
pip install package== ERROR: Could not find a version that satisfies the requirement package== (from versions: 19.2.0, 19.5.0, 19.6.1, 19.7.0, 19.7.1, 19.8.0, 19.9.0)
應該使用 bash 命令(sed、awk 或 grep)來完成。我使用 regexr.com 驗證了以下表達式,它突出顯示了給定輸出的所有版本。
(?:(\d+)\.)?(?:(\d+)\.)?(?:(\d+)\.\d+)
但我無法讓這個正則表達式與 sed/awk 一起使用。
命令行
pip ... |& grep -oP '.*\b\K\d+\.\d+\.\d+\b'
輸出
19.9.0
關於正則表達式的解釋
以一種不太複雜的方式,如果您剛剛使用最新版本的 pip,您可以使用
cut
.
Pip show pip | grep Version: | cut -d' ' -f2
將導致:
19.9.0