如何使用awk从文件中读取矩阵并将其分配给bash脚本中声明的二维数组

列文

我在echo矩阵元素中打印时遇到问题,当我在第一个循环中取消注释时echo ${matrix[$i,$j]},程序可以正常工作,但是当我要${matrix[$i,$j]}在第二个循环中打印时,输出为空字符。目标是从文件中读取矩阵并将其分配给我在脚本中声明的矩阵。

function readMatrixFromFile() {
        local file="$1"
        declare -A matrix
        local num_rows=$(awk 'NR==1 {print $3}' $1)
        local num_colums=$(awk 'NR==2 {print $3}' $1)

        for ((i=3;i<=num_rows+2;i++)) do
                for ((j=1;j<=num_colums;j++)) do
                        k=i-2
                        matrix[$k,$j]=$(awk -v row=$i -v col=$j 'NR==row {print $col}' $file)
                        #echo ${matrix[$i,$j]}
                done
        done


        for ((i=1;i<=num_rows;i++)) do
               for ((j=1;j<=num_colums;j++)) do
                       echo ${matrix[$i,$j]}
               done
               echo
        done

}

function Main() {
        readMatrixFromFile Matrix3.txt
}

Main

这是Matrix3.txt

在此处输入图片说明

这是输出:

在此处输入图片说明

奥莱·丹吉(Ole Tange)
#!/bin/bash                                                                                                           

declare -A m

read_matrix() {
    local i=0
    local line
    local j
    # Ignore the first 2 lines containing size of the matrix
    read rows
    read cols
    while read -r line; do
        j=0
        # split on spaces
        for v in `echo $line`; do
            m[$i,$j]="$v"
            j=$((j+1))
        done
        i=$((i+1))
    done
}

read_matrix < matrix.file

echo ${m[1,2]}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Bash脚本中,如何读取文件并将所有行拆分为二维数组

来自分类Dev

如何对二维字符串数组进行排序并将其分配给标签

来自分类Dev

如何将字符串中的值分配给二维数组?

来自分类Dev

从文本文件中读取网格并将其存储在二维数组中?

来自分类Dev

如何从 URL 读取 JSON 文件并将其分配给 NodeJS 中的全局变量?

来自分类Dev

如何将匹配表达式的值分配给 Scala 中的二维数组元素?

来自分类Dev

将列表中的每个值分配给二维数组

来自分类Dev

想要读取 .txt 文件并将其加载到二维数组中,然后按原样打印

来自分类Dev

使用poi读取Excel文件并将其移至二维数组

来自分类Dev

使用poi读取Excel文件并将其移至二维数组

来自分类Dev

从输入中读取整数并将其分配给变量

来自分类Dev

如何解析文本文件中的值并将其分配给Shell脚本参数

来自分类Dev

从数组中调用元素并将其分配给变量?

来自分类Dev

从文本文件中读取python函数并将其分配给变量

来自分类Dev

Bash中缺少文件-创建文件并将其分配给变量

来自分类Dev

快速将值分配给二维数组

来自分类Dev

PHP POST数据分配给二维数组

来自分类Dev

如何从MySQL中读取双列并将其分配给C#双变量?

来自分类Dev

如何将多维数组分配给二维数组?

来自分类Dev

在Python中读取文件并将内容分配给变量

来自分类Dev

如何将记录集值分配给二维数组

来自分类Dev

如何将二维变量分配给数组

来自分类Dev

如何将记录集值分配给二维数组

来自分类Dev

如何编写动态数量的行并将其分配给C中的数组

来自分类Dev

如何编写动态数量的行并将其分配给C中的数组

来自分类Dev

如何从excel中匹配特定条件的值并将其分配给数组?

来自分类Dev

如何查找文件的大小并将其分配给UNIX中的变量

来自分类Dev

如何查找文件的大小并将其分配给UNIX中的变量

来自分类Dev

在Java中声明二维数组

Related 相关文章

  1. 1

    在Bash脚本中,如何读取文件并将所有行拆分为二维数组

  2. 2

    如何对二维字符串数组进行排序并将其分配给标签

  3. 3

    如何将字符串中的值分配给二维数组?

  4. 4

    从文本文件中读取网格并将其存储在二维数组中?

  5. 5

    如何从 URL 读取 JSON 文件并将其分配给 NodeJS 中的全局变量?

  6. 6

    如何将匹配表达式的值分配给 Scala 中的二维数组元素?

  7. 7

    将列表中的每个值分配给二维数组

  8. 8

    想要读取 .txt 文件并将其加载到二维数组中,然后按原样打印

  9. 9

    使用poi读取Excel文件并将其移至二维数组

  10. 10

    使用poi读取Excel文件并将其移至二维数组

  11. 11

    从输入中读取整数并将其分配给变量

  12. 12

    如何解析文本文件中的值并将其分配给Shell脚本参数

  13. 13

    从数组中调用元素并将其分配给变量?

  14. 14

    从文本文件中读取python函数并将其分配给变量

  15. 15

    Bash中缺少文件-创建文件并将其分配给变量

  16. 16

    快速将值分配给二维数组

  17. 17

    PHP POST数据分配给二维数组

  18. 18

    如何从MySQL中读取双列并将其分配给C#双变量?

  19. 19

    如何将多维数组分配给二维数组?

  20. 20

    在Python中读取文件并将内容分配给变量

  21. 21

    如何将记录集值分配给二维数组

  22. 22

    如何将二维变量分配给数组

  23. 23

    如何将记录集值分配给二维数组

  24. 24

    如何编写动态数量的行并将其分配给C中的数组

  25. 25

    如何编写动态数量的行并将其分配给C中的数组

  26. 26

    如何从excel中匹配特定条件的值并将其分配给数组?

  27. 27

    如何查找文件的大小并将其分配给UNIX中的变量

  28. 28

    如何查找文件的大小并将其分配给UNIX中的变量

  29. 29

    在Java中声明二维数组

热门标签

归档