我想在 shell 脚本中解析以下字符串。
VERSION=2.6.32.54-0.11.def
Run Code Online (Sandbox Code Playgroud)
这里我想得到两个值。
first = 263254
second = 11
Run Code Online (Sandbox Code Playgroud)
我使用以下方法来获取第一个值:
first=`expr substr $VERSION 1 9| sed "s/\.//g" |sed "s/\-//g"`
Run Code Online (Sandbox Code Playgroud)
得到第二个:
second=`expr substr $VERSION 10 6| sed "s/\.//g" |sed "s/\-//g"`
Run Code Online (Sandbox Code Playgroud)
使用上面的代码输出是:
first=263254
second=11
Run Code Online (Sandbox Code Playgroud)
如果版本更改为:结果将不一致:
VERSION=2.6.32.54-0.1.def
Run Code Online (Sandbox Code Playgroud)
这里第二个值将变成 1d,但我希望它只给出 1 的输出。
如何直接解析“-”之后和“.d”之前的数字?
shell ×1