Linux 使用shell脚本从字符串中提取版本号

Linux 使用shell脚本从字符串中提取版本号,linux,shell,Linux,Shell,我需要从以下字符串中提取版本号 图案是这样的 通过使用shell脚本 VAR1=1.1-g13ab57737123 Output 1.1 VAR1=1.2-g328891ahqq12 Output 1.2 VAR1=2.3-g123900a12328 Output 2.3 VAR2=abcd960_1.1-g13ab57737123 Output 1.1 这项工作: $ VAR1=1.1-g13ab57737123 $ echo $VAR1 1.1-g13ab57737123 $ ec

我需要从以下字符串中提取版本号

图案是这样的

通过使用shell脚本

VAR1=1.1-g13ab57737123
Output 1.1

VAR1=1.2-g328891ahqq12
Output 1.2

VAR1=2.3-g123900a12328
Output 2.3


VAR2=abcd960_1.1-g13ab57737123
Output 1.1
这项工作:

$ VAR1=1.1-g13ab57737123
$ echo $VAR1
1.1-g13ab57737123
$ echo $VAR1 | grep -o "[0-9]\.[0-9]"
1.1
或者,如果您需要更长的号码:

$ VAR1=1.1234-g13ab57737123
$ echo $VAR1 | grep -o "[0-9]\+\.[0-9]\+"
1.1234

你试过什么吗?这能回答你的问题吗?