我有这个:
Product Name Product Version
==================== ====================
vmware-workstation 9.0.2.1031769
我可以通过以下方式获得该vmware-workstation
部分:
$ vmware-installer -l | grep -Po "(?=v)[^ ]*(?= )"
如何获取版本号部分(没有构建,仅表示9.0.2
)?
我有这个:
Product Name Product Version
==================== ====================
vmware-workstation 9.0.2.1031769
我可以通过以下方式获得该vmware-workstation
部分:
$ vmware-installer -l | grep -Po "(?=v)[^ ]*(?= )"
如何获取版本号部分(没有构建,仅表示9.0.2
)?
使用 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
这个 :
(?:)
避免不需要的捕获组
另一种使用 grep 的方法:
vmware-installer -l | grep -Po "(\d+\.){2}\d+"