在 CSV 中添加两列并输出到新的 CSV 文件

在 CSV 中添加两列并输出到新的 CSV 文件

我有一个问题一直想弄清楚:

我们有一个库存文件 CSV,其中包含多个位置的库存。

csv 看起来像这样:

stock_no,primary,secondary,tertiary,cstock,direct
ABU0029843,1,,,5,
ABU0029934,60,,,5,
ABU0030034,,30,,5,

我希望最终结果看起来像这样(本质上是总结并删除空列。)

stock_no,primary
ABU0029843,6
ABU0029934,65
ABU0030034,35

我用 awk 尝试了各种方法,但我似乎返回了 0 值

但是,我对 awk 不太熟悉,所以我确信我做错了什么。任何帮助,将不胜感激。

答案1

您可以尝试以下操作awk

awk 'BEGIN { FS = OFS = ","; } NR == 1 { print $1, $2; next; } { for (x = 3; x <= NF; x++) $2 += $x;  print $1, $2 } ' file

相关内容