相关疑难解决方法(0)

如何在Shell脚本中解析字符串

我想在 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

4
推荐指数
1
解决办法
6万
查看次数

标签 统计

shell ×1