获取变量版本号

时间:2014-04-07 08:32:18

标签: bash

我需要提取版本输出的版本号,如下所示:

    Program updated version 7.9
    Released on 04-04-2013

我知道如何提取两位数的版本号:

   grep -Po '(version )\d+(?:\.\d+){2}')

或任何其他数字的数字。问题是版本号可能具有不同的位数。是否有一个正则表达式我可以使用一组由点分隔的数字组,前提是数字位数未知?

1 个答案:

答案 0 :(得分:1)

使用grep

#!/bin/sh
version=$(echo "Program updated version 7.9.9.9" | grep -oP "(?<=version )[^ ]+")
echo $version

输出:

$ ./test.sh
7.9.9.9

awk

#!/bin/sh
version=$(echo "Program updated version 7.9.9.9" | awk '{for(i=1;i<=NF;i++) if ($i=="version") print $(i+1)}')
echo $version

输出:

$ ./test.sh
7.9.9.9