I have this:

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

I can get the vmware-workstation part with a:

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

How do I get the version number part (without the build, meaning just 9.0.2)?

有帮助吗?

解决方案

Another way of doing it with grep:

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

其他提示

With sed:

vmware-installer -l | sed -n 's/[^ ]* *\(.*\)\.[0-9]*/\1/p'
$ 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

this :

(?:)

avoid not needed capturing groups

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top