相关疑难解决方法(0)

使用awk将列转换为矩阵格式

我有一个列格式的网格数据文件:

ifile.txt
x     y     value
20.5  20.5  -4.1
21.5  20.5  -6.2
22.5  20.5   0.0
20.5  21.5   1.2
21.5  21.5   4.3
22.5  21.5   6.0
20.5  22.5   7.0
21.5  22.5  10.4
22.5  22.5  16.7
Run Code Online (Sandbox Code Playgroud)

我想将其转换为矩阵格式为:

ofile.txt
     20.5  21.5 22.5
20.5 -4.1   1.2  7.0
21.5 -6.2   4.3 10.4
22.5  0.0   6.0 16.7
Run Code Online (Sandbox Code Playgroud)

top 20.5 21.5 22.5表示y,side值表示x,内部值表示相应的网格值.

我在这里找到了一个类似的问题将3列文件转换为矩阵格式,但脚本在我的情况下不起作用.

脚本是

awk '{ h[$1,$2] = h[$2,$1] = $3 }
    END {
      for(i=1; i<=$1; i++) {
        for(j=1; j<=$2; j++)
          printf h[i,j] OFS
        printf "\n" …
Run Code Online (Sandbox Code Playgroud)

linux shell awk

8
推荐指数
1
解决办法
447
查看次数

标签 统计

awk ×1

linux ×1

shell ×1