首页 > 解决方案 > 拆分字符串变量并仅使用节 bash

问题描述

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

1.1.0.1580308800316

有没有办法将 1.1.0 作为单独的变量,将 1580308800316 作为单独的变量?喜欢var1=1.1.0 and var2=1580308800316

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

echo 1.1.0.1580308800316 | fold -w6

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

``

标签: bashsedword-wrapcut

解决方案


使用标准 POSIX shell 是可能的:

#!/usr/bin/env sh

version='1.1.0.1580308800316'

var1="${version%.*}"
var2="${version##*.}"

printf 'Version: %s\n' "$version"
printf 'Var1: %s\n' "$var1"
printf 'Var2: %s\n' "$var2"

输出:

Version: 1.1.0.1580308800316
Var1: 1.1.0
Var2: 1580308800316

推荐阅读