Ich muss ein großes Array in drei kleine aufteilen. Was ich habe versucht:Teilen Sie ein großes Array in drei
#!/bin/bash
declare -a bigarray
bigarray=(0 1 2 3 4 5 6 7 8 9 10 11)
total=${#bigarray[@]}
let t1="$total/3"
declare -a fstsmall
fstsmall=("${bigarray[@]:0:$t1}")
let t2="$total - $t1 - 1"
declare -a sndsmall
sndsmall=("${bigarray[@]:$t1:$t1}")
let t3="$t2 + 1"
let theend="$total - $t2"
echo $theendwq
trdsmall=("${bigarray[@]:$t3:$theend}")
echo "${fstsmall[@]}"
echo "${sndsmall[@]}"
echo "${trdsmall[@]}"
exit 0
Das ist in Ordnung, es gibt mir:
0 1 2 3
4 5 6 7
8 9 10 11
Aber wenn ich 12. Element zu großen Array hinzufügen, es brach in:
0 1 2 3
4 5 6 7
9 10 11 12
8. Element wird weggelassen. Ich vermute, ich brauche dafür Schleifen, da die Anzahl der Elemente dynamisch ist.
Willkommen auf der Website, und danke für die Frage nach einer detaillierten Frage! Schaut euch die [Tour] (https://Stackoverflow.com/tour) an, um mehr darüber zu erfahren, was euch hier erwartet. – cxw