I have an array my_array in Bash that contains string elements formatted as such
my_array[0] = "username_1:id_1:name_1"
my_array[1] = "username_2:id_2:name_2"
my_array[2] = "username_3:id_3:name_3"
I was curious if there is a convenient way to iterate through this array splitting it on the ":" character and storing the values into three separate arrays. The pseudo-code might look something like this
index=0
for i in "${my_array}"
do
   usernames[$index], ids[$index], names[$index]= $(echo $i | tr ":" "\n")
   (( index = index + 1 ))
done
This question (How do I split a string on a delimiter in Bash?) is very similar to what I am trying to accomplish, however I am trying to store the values into three different arrays which is my main obstacle. Thanks in advance for any help as I am extremely new to bash programming.
here is what I have attempted:
index=0
for i in "${arrayAdmin[@]}"
do
        credentials=$(echo $i | tr ":" "\n" )
        accounts[$index]=${credentials[0]}
        groups[$index]=${credentials[1]}
        names[$index]=${credentials[2]}
        (( index = $index + 1))
        echo $index
done
 
    