Csv 打印awk中每列的行数和其他行值之和

Csv 打印awk中每列的行数和其他行值之和,csv,awk,sum,multiple-columns,Csv,Awk,Sum,Multiple Columns,我有一个结构如下的csv文件: | Taiwan | | US | | ASUS | MSI | DELL | HP ------------------------------------------ CPU | 50 | 49 | 43 | 65 GPU | 60 |

我有一个结构如下的csv文件:

             |  Taiwan  |       |   US      |   
             |  ASUS    |   MSI |   DELL    |   HP
            ------------------------------------------
    CPU      |  50      |   49  |   43      |   65
    GPU      |  60      |   64  |   75      |   54
    HDD      |  75      |   70  |   65      |   46
    RAM      |  60      |   79  |   64      |   63
    assembled|  235     |   244 |   254     |   269
我必须使用awk脚本打印单个计算机部件(第3行至第6行)和组装计算机价格(第7行)的价格总和之间的比较,同时显示每个品牌来自的国家。终端中的打印结果应类似于:

Taiwan      Asus    245     235
Taiwan      MSI     262     244
US          DELL    247     254
US          HP      228     269
其中第三列是CPU、GPU、HDD和RAM价格之和,第四列是每种计算机品牌第7行中的价格值

到目前为止,我已经能够将下面的post I链接中提供的解决方案的各个列相加,但是我不知道如何以所需的格式显示我想要的结果。有人能帮我吗?在这一点上我有点绝望

这是此消息顶部显示的原始csv文件的内容:

,Taiwan,,US,
,ASUS,MSI,DELL,HP
CPU,50,49,43,65
GPU,60,64,75,54
HDD,75,70,65,46
RAM,60,79,64,63
assembled,235,244,254,269

非常感谢您。

向我们展示CSV内容,以便我们可以帮助您编写一个工具来操作这些内容,而不是CSV在被某个工具显示为表格时的外观或您想象的布局。感谢您的回复,我编辑了原始消息并添加了示例文件的内容,如果你的意思是我完全不知道的其他东西,请让我知道。不,这就是我的意思,谢谢你补充。要想让这个问题成为一个好问题,你唯一应该补充的是你自己解决问题的尝试,因为这个论坛的目的是帮助人们编写代码,而不仅仅是提供代码来解决问题,因此没有代码的问题通常会被社区作为话题关闭。哦,可以提供附加可选信息的链接,但请确保我们需要的所有内容都在问题中,并且是独立的。向我们展示CSV内容,以便我们可以帮助您编写工具来操作这些内容,不是CSV被某个工具显示为表格时的外观,也不是您想象中的布局。感谢您的回复,我编辑了原始消息并添加了示例文件的内容,请让我知道您是否指我完全缺少的其他内容。不,这就是我的意思,谢谢您添加。要想让这个问题成为一个好问题,你唯一应该补充的是你自己解决问题的尝试,因为这个论坛的目的是帮助人们编写代码,而不仅仅是提供代码来解决问题,因此没有代码的问题通常会被社区作为话题关闭。哦,当然可以提供附加的可选信息的链接,但要确保我们需要的一切都在问题中,并且是好的。
$ cat tst.awk
BEGIN { FS=","; OFS="\t" }
NR == 2 {
    for (i=2; i<=NF; i++) {
        corp[i] = (p[i] == "" ? p[i-1] : p[i]) OFS $i
    }
}
NR > 2 {
    for (i=2; i<=NF; i++) {
        tot[i] += p[i]
    }
}
{ split($0,p) }
END {
    for (i=2; i<=NF; i++) {
        print corp[i], tot[i], p[i]
    }
}
$ awk -f tst.awk file
Taiwan  ASUS    245     235
Taiwan  MSI     262     244
US      DELL    247     254
US      HP      228     269