Powershell - 跨行的总和而不分组

时间:2016-01-29 19:51:06

标签: powershell

我在csv文件上运行powershell脚本,格式类似于:

A,B,C,100
A,B,D,200
B,A,B,100
C,A,B,100

该脚本添加了一个额外的列来为每一行生成键:

A,B,C,100,AB
A,B,D,200,AB
B,A,B,100,BA
C,A,B,100,CA

我陷入了脚本的最后一步,我需要在文件中总结任何具有相同键的行。唯一的问题是我需要维护文件的原始布局,因此我需要在每行中输出总和,并且不能通过在powershell中使用分组来滚动数据。我想要的输出是:

A,B,C,100,AB,300
A,B,D,200,AB,300
B,A,B,100,BA,100
C,A,B,100,CA,100

关于如何实现这一目标的任何建议?

1 个答案:

答案 0 :(得分:0)

$a = @'
A,B,C,100,AB
A,B,D,200,AB
B,A,B,100,BA
C,A,B,100,CA
'@

$a = $a | ConvertFrom-Csv -Header 1,2,3,4,5

$a = $a | group '5' | % {$tot = 0; $_.group.4 | % {$tot += $_}; $_.group | select *, @{n='6';e={$tot}}}

$a | ft