如何用shell脚本读取CSV计算两列和并新增total列
解决方案
问题原因
你现有代码未区分表头行和数据行,表头行的第二、三列为字符串类型,awk执行加法运算时会自动将非数值字符串转为数值0,因此表头行新列计算结果为0。
可行实现代码
直接使用以下awk命令即可得到符合预期的输出:
awk -F ',' 'BEGIN{OFS=","} NR==1{print $0,"total"} NR>1{print $0,$2+$3}' 你的CSV文件路径
代码说明
-F ','指定输入CSV的字段分隔符为逗号BEGIN{OFS=","}预先设置输出字段分隔符为逗号,保证输出格式和原CSV一致NR==1匹配第一行表头,直接在原表头末尾追加total作为新列名NR>1匹配后续所有数据行,计算第二列与第三列的和作为新列的值
你提供的示例CSV执行上述命令后,输出完全匹配你给出的预期结果。
内容的提问来源于stack exchange,提问作者RaRaIn
相关产品推荐
相关产品推荐

