我想在 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”之前的数字?
小智 5
$ first=$(echo $VERSION | cut -d- -f1 | sed 's/\.//g')
$ second=$(echo $VERSION | cut -d- -f2 | cut -d. -f2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62249 次 |
| 最近记录: |