2

我有这个:

Product Name         Product Version     
==================== ====================
vmware-workstation   9.0.2.1031769

我可以通过以下方式获得该vmware-workstation部分:

$ vmware-installer -l | grep -Po "(?=v)[^ ]*(?= )"

如何获取版本号部分(没有构建,仅表示9.0.2)?

4

3 回答 3

1

使用 sed:

vmware-installer -l | sed -n 's/[^ ]* *\(.*\)\.[0-9]*/\1/p'
于 2013-03-26T00:39:31.623 回答
1
$ vmware-installer -l | grep -Po "^v\S+\s+\K\d+\.\d+\.\d+"
9.0.2

$ vmware-installer -l | grep -Po "(?:\d+\.){2}\d+"
9.0.2

这个 :

(?:)

避免不需要的捕获组

于 2013-03-26T00:27:40.307 回答
1

另一种使用 grep 的方法:

vmware-installer -l | grep -Po "(\d+\.){2}\d+"

于 2013-03-26T01:11:57.023 回答