我有一个数组,我想以此为基础创建一个新数组,该数组仅包含按索引号列出的特定选定项。
例如,我想要一个仅包含two
和five
或索引号为[2,4]
的数组
您知道如何使用bash脚本吗?我是新手 谢谢
array1=( one two three four five )
echo ${array1[@]}
结果
array2 = (two five)
答案 0 :(得分:2)
据我所知,唯一的方法是创建一个新数组,一个接一个地选取每个元素:
array2=( "${array1[1]}" "${array1[4}}" ) # two five
另一方面,如果您想要切片(连续索引),则可以使用内置语法:
array2=( "${array1[@]:1:3}" ) # two three four
答案 1 :(得分:0)
您需要一个循环:
indices=(1 3)
for i in "${indices[@]}"; do # or for i in 1 3, if you want to hard-code the indices
array2+=("${array[i]}")
done