我想从 bash 中的一些字符串中提取版本号,而不使用太多额外的包。到目前为止我试过了sed
。
这是 API:
3.81-8.1ubuntu1.1 should give : 3.81
2.68-1ubuntu2 should give : 2.68
1:1.11.3-1ubuntu2 should give : 1.11.3
到目前为止,这是我的 sed 命令:
echo ... | sed -r 's/.*([0-9\.]+).*/\1/'
但是,开局.*
太贪心了,尤其是最后一种情况。我尝试了一些.*?
,.\{-}
但没有任何成功。
我可以分两次完成,但我宁愿学习如何一次完成。