我正在尝试将两个数组合并为一个像时尚一样的 zipper 。我很难做到这一点。
array1=(one three five seven)
array2=(two four six eight)
我尝试过使用嵌套的 for 循环,但无法弄清楚。我不希望输出为 13572468,而是 12345678。
我正在处理的实际脚本在这里 ( http://ix.io/iZR ).. 但它显然没有按预期工作。我要么打印整个 array2(例如 124683),要么只打印第一个索引,如果循环不起作用(例如 12325272)。
那么我如何获得输出:
one two three four five six seven eight
用上面两个数组?
编辑:我能够用两个 for 循环和 paste
( http://ix.io/iZU ) 解决它。看看是否有人有更好的解决方案仍然很有趣。所以如果你有时间请看一看。
最佳答案
假设两个数组大小相同,
unset result
for (( i=0; i<${#array1[*]}; ++i)); do
result+=( "${array1[$i]}" "${array2[$i]}" )
done
关于arrays - 如何在 Bash 中像时尚的 zipper 一样合并两个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30721317/