Convert an indexed array into an associative array in Bash

廉价感情. 提交于 2019-12-04 17:06:45

Here's one way, using sed. Note that this will only work, however, if none of the elements of the original array contain whitespace.

declare -A "newArray=( $(echo ${oldArray[@]} | sed 's/[^ ]*/[&]=&/g') )"

The sed command takes each array element 'x' and replaces it with the string '[x]=x', suitable for an associative array assignment.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!