Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在UNIX中,如何将total的新列添加为两列之和?_Unix_Awk - Fatal编程技术网

在UNIX中,如何将total的新列添加为两列之和?

在UNIX中,如何将total的新列添加为两列之和?,unix,awk,Unix,Awk,我有一个平面锉刀 physics chem 10 20 12 12 10 10 我想再增加一列总分,其中包括物理和化学的总分。试试这一行: awk '$0=$0"\t"(NR==1?"total":$1+$2)' file 我觉得@Kent的答案很难读懂。我会写信的 awk 'NR==1 {val = "total"} NR > 1 {val = $1+$2} {$(++NF) = val; print}' file | column -t

我有一个平面锉刀

physics   chem
10        20
12        12
10        10
我想再增加一列总分,其中包括物理和化学的总分。

试试这一行:

awk '$0=$0"\t"(NR==1?"total":$1+$2)' file

我觉得@Kent的答案很难读懂。我会写信的

awk 'NR==1 {val = "total"} NR > 1 {val = $1+$2} {$(++NF) = val; print}' file | column -t

嗨,雷克斯!欢迎为了帮助您,请让我们知道这是什么类型的文件(是平面文件还是电子表格?)。您是如何写入文件的,您使用的是程序、脚本还是其他什么?如果您使用的是程序或脚本,那么您可以发布代码吗?告诉我们more@ChadMcGrath因为这个问题是用awk和unix标记的,所以我不认为这是一个Micro$oft格式的文件。awk标记是在Rex编辑了这个问题后添加的,正如我在评论中要求他那样(你可以在编辑的链接中看到)。平面文件和电子表格不是Windows特有的,它们是适用于许多平台的通用术语,包括unix。感谢您的回答。欢迎回到SO!你一直很安静。