我需要提取子字符串并将其设置为新字符串,而无需使用echo
。
我的原始变量由逗号分隔,因此我可以使用它,但是我不能使用echo
,所以我不认为我可以使用cut
。
我认为我需要使用method shown here,但我不太理解
myvar="1,2,3,4,5,6"
我认为这与以下内容类似:
one=${myvar%%,}
two=${myvar}
答案 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