我有一个变量,如下所示。
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)