如何将2个数组合并为一个关联数组

黑水晶

我需要结合ARRAY1ARRAY2成一个关联数组等ARRAY我正在使用此代码:

 mapfile -t ARRAY1 < <(/bin/awk '{ print $ 1 }' /output/gen_branch)
 mapfile -t ARRAY2 < <(/bin/awk '{ print $ 6 }' /output/gen_code )
 declare -A ARRAY

 for ((i=0; $i<${#ARRAY1[@]}; i++))
 do
 ARRAY+=( ["${ARRAY1[i]}"] = "${ARRAY2[i]}" )
 done

 ##added this loop to check output
 for value in "${!ARRAY[@]}"
 do
 echo "branch: $value"
 echo "code: ${ARRAY[$value]}"
 done 

我希望这样的东西可以在bash的其他部分中使用它们(重要的是,第一个元素的值ARRAY1是等的第一个元素ARRAY2):

ARRAY1=( b1 b2 b3 )
ARRAY2=( c1 c2 c3 )
ARRAY= ( [b1]=c1 [b2]=c2 [b3]=c3 ) 

但是当我运行我的代码时,出现此错误:

line 7: ARRAY: [b1]: must use subscript when assigning associative array
line 7: ARRAY: =: must use subscript when assigning associative array
line 7: ARRAY: c1: must use subscript when assigning associative array
(and it goes on like this for every entry)  

我认为我在第7行上做错了所有该怎么做才能解决此问题?

斯蒂芬·查泽拉斯(Stephane Chazelas)

的周围不能有空格=

使用

hash[${array1[i]}]=${array2[i]}

会更清晰的IMO。

为了记录在中zsh,要将两个数组转换为关联数组/哈希,您需要执行以下操作:

typeset -A hash
hash=("${(@)array1:^array2}")

其中${array1:^array2}在所述阵列压缩和解运算符和@参数扩展标志是用来保存空元素(在双引号,类似"$@")。(顺便说一句,bash哈希不支持空键)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将2个数组合并为一个数组?

来自分类Dev

如何将两个数组合并为一个数组?

来自分类Dev

如何将两个数组合并为一个嵌套数组?

来自分类Dev

如何将3个数组合并为具有相同索引的一个数组-JavaScript

来自分类Dev

如何将两个数组合并为一个对象

来自分类Dev

如何将 3 或 4 个数组合并为一个

来自分类Dev

如何将两个数组合并为一个 php

来自分类Dev

将数组合并为一个数组

来自分类Dev

将2个数组合并为一个数组Javascript

来自分类Dev

将N个数组合并为一个?

来自分类Dev

如何将关联数组附加到另一个数组的末尾?

来自分类Dev

将2个关联数组合并为1个

来自分类Dev

如何将两个数组的负数合并为一个数组?

来自分类Dev

如何将两个或多个关联数组与键作为前一个数组元素的值组合,以创建多级数组?

来自分类Dev

将两个数组合并为一个2D数组-PHP

来自分类Dev

如何将一个数组的数组合并到一个数组中?

来自分类Dev

如何将两个Java数组合并为一个

来自分类Dev

如何将两个 JavaScript 数组合并为一个 JSON?

来自分类Dev

如何使用.map和.filter将两个数组合并为一个

来自分类Dev

C#将多个数组合并为一个数组

来自分类Dev

将一个数组合并为几个数组

来自分类Dev

将两个数组合并为一个数组列表

来自分类Dev

python:将两个数组合并为一个数组

来自分类Dev

按顺序将两个int数组合并为一个数组

来自分类Dev

如何根据键匹配值将两个对象数组合并为一个数组

来自分类Dev

如何将两个数组缓冲区合并为一个?

来自分类Dev

如何将两个数组列表按升序合并为一个

来自分类Dev

如何将两个数组缓冲区合并为一个?

来自分类Dev

如何通过公共值将2个数组值合并为一个

Related 相关文章

  1. 1

    如何将2个数组合并为一个数组?

  2. 2

    如何将两个数组合并为一个数组?

  3. 3

    如何将两个数组合并为一个嵌套数组?

  4. 4

    如何将3个数组合并为具有相同索引的一个数组-JavaScript

  5. 5

    如何将两个数组合并为一个对象

  6. 6

    如何将 3 或 4 个数组合并为一个

  7. 7

    如何将两个数组合并为一个 php

  8. 8

    将数组合并为一个数组

  9. 9

    将2个数组合并为一个数组Javascript

  10. 10

    将N个数组合并为一个?

  11. 11

    如何将关联数组附加到另一个数组的末尾?

  12. 12

    将2个关联数组合并为1个

  13. 13

    如何将两个数组的负数合并为一个数组?

  14. 14

    如何将两个或多个关联数组与键作为前一个数组元素的值组合,以创建多级数组?

  15. 15

    将两个数组合并为一个2D数组-PHP

  16. 16

    如何将一个数组的数组合并到一个数组中?

  17. 17

    如何将两个Java数组合并为一个

  18. 18

    如何将两个 JavaScript 数组合并为一个 JSON?

  19. 19

    如何使用.map和.filter将两个数组合并为一个

  20. 20

    C#将多个数组合并为一个数组

  21. 21

    将一个数组合并为几个数组

  22. 22

    将两个数组合并为一个数组列表

  23. 23

    python:将两个数组合并为一个数组

  24. 24

    按顺序将两个int数组合并为一个数组

  25. 25

    如何根据键匹配值将两个对象数组合并为一个数组

  26. 26

    如何将两个数组缓冲区合并为一个?

  27. 27

    如何将两个数组列表按升序合并为一个

  28. 28

    如何将两个数组缓冲区合并为一个?

  29. 29

    如何通过公共值将2个数组值合并为一个

热门标签

归档