bash printf 两个数组两列
bash printf two arrays in two columns
我假设数组 ar1 和 ar2 我希望将这两个数组打印在两列中。
printf "%s\t%s\n" "${ar1[@]}" "${ar2[@]}"
有什么想法吗?
假设数组元素不包含换行符,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
否则纯 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
我假设数组 ar1 和 ar2 我希望将这两个数组打印在两列中。
printf "%s\t%s\n" "${ar1[@]}" "${ar2[@]}"
有什么想法吗?
假设数组元素不包含换行符,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
否则纯 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