您可以使用例如哈希来模拟它们,但需要注意前导零和许多其他事情。下一个演示有效,但远非最佳解决方案。
#!/bin/bashdeclare -A matrixnum_rows=4num_columns=5for ((i=1;i<=num_rows;i++)) do for ((j=1;j<=num_columns;j++)) do matrix[$i,$j]=$RANDOM donedonef1="%$((${#num_rows}+1))s"f2=" %9s"printf "$f1" ''for ((i=1;i<=num_rows;i++)) do printf "$f2" $idoneechofor ((j=1;j<=num_columns;j++)) do printf "$f1" $j for ((i=1;i<=num_rows;i++)) do printf "$f2" ${matrix[$i,$j]} done echodone
上面的示例创建了一个具有随机数的4x5矩阵,并将其打印后转置,示例结果
1 2 3 4 1 18006 31193 16110 23297 2 26229 19869 1140 19837 3 8192 2181 25512 2318 4 3269 25516 18701 7977 5 31775 17358 4468 30345
原理是:创建一个关联数组,其中索引是类似的字符串
3,4。好处:
- 可以用于任意维度的数组;)像:
30,40,2
3维。 - 语法类似于数组的“ C”
${matrix[2,3]}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)