需要提取一个子字符串并将其分配给新变量而不使用echo

时间:2019-04-29 01:24:00

标签: bash

我需要提取子字符串并将其设置为新字符串,而无需使用echo

我的原始变量由逗号分隔,因此我可以使用它,但是我不能使用echo,所以我不认为我可以使用cut

我认为我需要使用method shown here,但我不太理解

myvar="1,2,3,4,5,6"

我认为这与以下内容类似:

one=${myvar%%,}
two=${myvar}

2 个答案:

答案 0 :(得分:1)

在这里留下答案:

IFS=',' read a b c d <<< '1,2,3,4'
echo $a $b $c $d
1 2 3 4

有关详细说明,请检查how to split a list by comma

答案 1 :(得分:1)

您可以仅使用链接方法中的切片:

myvar="1,2,3,4,5"
one=${myvar::1}
two=${myvar:2:1}
three=${myvar:4:1}

或者如果您不确定索引:

# grab the first one
one=${myvar%%,*}
rest=${myvar#*,}
two=${rest%%,*}
# and so on