拆分一个字符串变量并只使用一个部分bash



我有一个变量,如下所示。

1.1.0.1580308800316

有没有办法将1.1.0作为一个单独的变量,将1580308800316作为一个独立的变量?类似var1=1.1.0 and var2=1580308800316

我尝试了下面的代码行,我可以找到它。

echo 1.1.0.1580308800316 | fold -w6

但这并没有给我带来我想要的结果。

``

使用标准POSIX外壳:是可能的

#!/usr/bin/env sh
version='1.1.0.1580308800316'
var1="${version%.*}"
var2="${version##*.}"
printf 'Version: %sn' "$version"
printf 'Var1: %sn' "$var1"
printf 'Var2: %sn' "$var2"

输出:

Version: 1.1.0.1580308800316
Var1: 1.1.0
Var2: 1580308800316

尽管IMHO可以从文本中创建2个元素,并可以保存在一个数组的2个元素中,然后逐个使用该数组项,但OP坚持只包含变量,因此可以使用cut命令进行此操作。

first_var=$(echo "1.1.0.1580308800316"  | cut -d'.' -f1-3)
second_var=$(echo "1.1.0.1580308800316"  | cut -d'.' -f4)

相关内容

  • 没有找到相关文章

最新更新