我有这个:
Product Name Product Version
==================== ====================
vmware-workstation 9.0.2.1031769
我可以通过以下内容获取vmware-workstation
部分:
$ vmware-installer -l | grep -Po "(?=v)[^ ]*(?= )"
如何获取版本号部分(没有构建,仅表示9.0.2
)?
答案 0 :(得分: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
这个:
(?:)
避免不需要捕获群组
答案 1 :(得分:1)
使用sed:
vmware-installer -l | sed -n 's/[^ ]* *\(.*\)\.[0-9]*/\1/p'
答案 2 :(得分:1)
使用grep执行此操作的另一种方法:
vmware-installer -l | grep -Po "(\d+\.){2}\d+"