У меня есть два массива:
SUBJECT_IDS=(44456 11123 77789)
DCM_FILES=("./77789/77789/"DICOM"" "./11123/11123/"DICOM"" "./44456/44456/77789/"DICOM"" )
, которые я затем отсортировал, чтобы упростить индексирование / уже сортировал его по индексу:
IFS=$'\n'
sorted_SUBJECT_IDS=($(sort <<<"${SUBJECT_IDS[*]}"))
sorted_DCM_FILES=($(sort <<<"${DCM_FILES[*]}"))
Как бы я создал ассоциативный массив путем объединения двух массивов по индексу?
headers=(
[11123]=./11123/11123/DICOM
[44456]=./44456/44456/DICOM
[77789]=./77789/77789/DICOM
)
Вот мои попытки создания ассоциативного массива:
Попытка 1:
declare -A headers
i=0
for i in "${sorted_SUBJECT_IDS[@]}"
do
headers["$i"]="${sorted_DCM_FILES[i]}";
echo "$i" : "${sorted_DCM_FILES[i]}"
((i++))
done
Выход:
11123 :
44456 :
77789 :
Попытка 2:
typeset -A hash
hash=("$(@){sorted_SUBJECT_IDS:^sorted_DCM_FILES}")
Выход:
bash: hash: "$(@){sorted_SUBJECT_IDS:^sorted_DCM_FILES}": mustuse subscript when assigning associative array