У меня есть ассоциативный массив, где ключом и значением являются строки XML. Я использую это для операции поиска / замены в bash-скрипте.
#!/usr/local/bin/bash
declare -A findReplace
findReplace['<item name="Alice" title="President"/>']='<item name Bob title="CEO"/>'
for e in "${findReplace[@]}"; do
find="$e"
replace="${findReplace[$e]}"
printf "\tSearching for: ${find}\n"
printf "\tReplacing with: "${replace}"\n"
done
Это вывод этого:
Searching for: <item name Bob title="CEO"/>
Replacing with:
Посмотрите, как значение не читается вправильно? Я попытался выполнить итерации с индексом и использовать этот индекс для извлечения обоих, но затем и ключ, и значение считываются только до пробела.
Надеюсь, это понятно. Спасибо.