我想知道在bash中是否有一种简单的方法将一个大数组分成几个较小的数组。目前我正在考虑以下内容:
for ((i = 0; i<= (bigArrayLength/2); i++)) do
bigArray[i] = smallArray[i]
done
for ((i = (bigArrayLength/2); i <=bigArrayLength; i++))
do
bigArray[i] = secondSmallArray[i]
done
但是必须有更好的方法来解决这个问题。你有什么建议吗?谢谢!
smallArray=("${bigArray[@]:0:$cnt1}")
,这样在元素中包含空格时也可以正常工作。另外,Bash 3.2 和 4 都支持切片操作。 - Dennis Williamson-1
?你会失去最后一个元素。 - Eugene