我有两个相同长度的数组如下:
arr1[1]=2
arr1[2]=5
arr2[1]=x
arr2[2]=y
我正在尝试创建一个类似" 2 x 5 y
"的字符串。
由于数组的长度可以是变量,有没有办法在不使用循环和字符串连接的情况下执行此操作(如参数扩展或其他内容)?
答案 0 :(得分:1)
您可以将paste
与流程替换:
arr1[1]=2
arr1[2]=5
arr2[1]=x
arr2[2]=y
s=$(paste <(printf "%s\n" "${arr1[@]}") <(printf "%s\n" "${arr2[@]}") |
tr '[[:space:]]' ' ')
echo "$s"
2 x 5 y