我有多个阵列(我将其限制为3)&第一次使用数组 数组的长度是相同的。它们对应于相同的记录 所以数组a,b和c值列在下面:
array a = 1 2 3 4 5
array b = a b c d e
array c = v w x y z
我需要打印然后内容,所以每行输出都是这样的
1 a v
2 b w
3 c x
4 d y
5 e z
你能帮忙吗?
谢谢
答案 0 :(得分:1)
这是一个更加令人难以置信的版本(如果你愿意的话):
#!/usr/bin/env bash
# initialize arrays
a=(1 2 3 4 5)
b=(a b c d e)
c=(v w x y z)
# count elements (assuming all arrays are the same size)
numElems=${#a[@]}
# loop over all elements
for (( i = 0; i < numElems; i++ )); do
# -e ensures that escape sequences such as \t are recognized
echo -e "${a[i]}\t${b[i]}\t${c[i]}"
done
答案 1 :(得分:0)
这就是我如何解决这个问题,希望有更好的方法。上面列出了3个数组样本,每个数组都有一个值列表。因为它们长度相等。这是可以做到的。 $&#39; \ t&#39;在其间放置一个标签。
s=${#a[@]}
counter=0
echo $counter
while [[ $counter -lt $s ]];
do
echo ${a[$counter]} $'\t' ${b[$counter]} $'\t' ${c[$counter]}
counter=$(( $counter + 1 ))
done