将一行(包含字符串和整数)转换为bash中的整数数组

时间:2018-10-03 10:35:35

标签: arrays string bash shell

我有一行用空格分隔的字符串:

line="hello 3] 5c 100 memory"

我想将此字符串拆分为整数数组,以便执行以下操作:

echo ${arr[0]}
echo ${arr[1]}
echo ${arr[2]}
  

输出3 5 100

请问有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

使用Bash的Parameter expansion

line="hello 3] 5c 100 memory"
arr=(${line//[^0-9 ]/})        # replace everything but 0-9 and space with nothing
declare -p arr

输出:

declare -a arr='([0]="3" [1]="5" [2]="100")'