gpt4 book ai didi

csv - 如何使用 awk 有条件地附加字段的出现?

转载 作者:行者123 更新时间:2023-12-04 14:13:44 25 4
gpt4 key购买 nike

我有一个看起来像这样的文件:

Level,Member
HIGH,John
HIGH,John
HIGH,Paul
HIGH,George
REG,George
REG,George
REG,George
REG,John
REG,Paul
REG,Paul
REG,Ringo

如果我想在第二列中附加数据出现次数,这很有效:
awk 'BEGIN{ FS=OFS="," }{ $0=$0 OFS (++a[$2]) }1' file

但是我无法弄清楚如何添加 if/else 语句,以便我可以有条件地按级别计数,以便我的输出如下所示:
Level,Member,1
HIGH,George,1
HIGH,John,1
HIGH,John,2
HIGH,Paul,1
REG,George,1
REG,George,2
REG,George,3
REG,John,1
REG,Paul,1
REG,Paul,2
REG,Ringo,1

请注意,当电平从 HIGH 变为 REG 时,计数重新开始。该文件已按级别排序,然后按成员排序。

最佳答案

要不就..

$ awk '{$0=$0","++a[$0]}1' file
Level,Member,1
HIGH,John,1
HIGH,John,2
HIGH,Paul,1
HIGH,George,1
REG,George,1
REG,George,2
REG,George,3
REG,John,1
REG,Paul,1
REG,Paul,2
REG,Ringo,1

关于csv - 如何使用 awk 有条件地附加字段的出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49076361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com