csv – 如何使用awk有条件地附加字段的出现?
发布时间:2020-12-14 00:43:50 所属栏目:Linux 来源:网络整理
导读:我有一个看起来像这样的文件: Level,MemberHIGH,JohnHIGH,PaulHIGH,GeorgeREG,JohnREG,PaulREG,Ringo 如果我想在第二列中附加数据出现的计数,这很有用: awk 'BEGIN{ FS=OFS="," }{ $0=$0 OFS (++a[$2]) }1' file 但我无法弄清楚如何添加if / else语句,以便
我有一个看起来像这样的文件:
Level,Member HIGH,John HIGH,Paul HIGH,George REG,John REG,Paul REG,Ringo 如果我想在第二列中附加数据出现的计数,这很有用: awk 'BEGIN{ FS=OFS="," }{ $0=$0 OFS (++a[$2]) }1' file 但我无法弄清楚如何添加if / else语句,以便我可以有条件地按级别计数,以便我的输出如下所示: Level,Member,1 HIGH,George,John,2 HIGH,Paul,1 REG,2 REG,3 REG,Ringo,1 请注意,当电平从HIGH变为REG时,计数开始.该文件已按级别排序,然后按成员排序. 解决方法
你的命令已经很好了.我刚刚更改了关联数组a []的关键字:
awk 'BEGIN{ FS=OFS="," }{ $0=$0 OFS (++a[$2$1]) }1' file 要么: awk 'BEGIN{ FS=OFS="," }{ $0=$0 OFS (++a[$0]) }1' file (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读