bash printf两列中的两个数组

Ray*_*azi 3 arrays bash printf

我想说数组ar1和ar2我希望这两个数组都打印在两列中.

  printf "%s\t%s\n" "${ar1[@]}" "${ar2[@]}"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

anu*_*ava 10

假设数组元素不包含换行符,paste可以执行以下任务:

ar1=(1 2 3 4 5 6)
ar2=(a b c d e f)
paste <(printf "%s\n" "${ar1[@]}") <(printf "%s\n" "${ar2[@]}")
1   a
2   b
3   c
4   d
5   e
6   f
Run Code Online (Sandbox Code Playgroud)

否则是纯BASH循环:

for ((i=0; i< "${#ar1[@]}"; i++)) do printf "%s\t%s\n" "${ar1[$i]}" "${ar2[$i]}"; done
1   a
2   b
3   c
4   d
5   e
6   f
Run Code Online (Sandbox Code Playgroud)

  • +1即将发布相同的内容.请注意,数组元素不得包含换行符...................................... (3认同)