如何通过 找到与另一个字段相关的某个字段的总和awk
,请考虑以下示例:
文件:
boo,foo,VO,1000
boo,foo,VO,1000
bar,var,DT,1000
var,bar,VO,2000
$3
在此示例中,我需要收集per的数量$4
,因此结果将是:
VO,1000 2
DT,1000 1
VO,2000 1
第一和第二字段被忽略。
答案1
如果您不介意重新排序,则以下内容应该有效
awk -F, '{print $3","$4}' <file name> | uniq -c
uniq -c
计算重复次数
对于您的输入,输出是
2 VO,1000 1 DT,1000 1 VO,2000
如果需要,可以通过第二个 awk 实现进一步编辑
答案2
要在 awk 中完成这一切:
awk '
BEGIN {FS=SUBSEP=","}
{count[$3,$4]++}
END {for (key in count) print key, count[key]}
' file
DT,1000 1
VO,1000 2
VO,2000 1