从目录列表中,我创建了一个输出,该输出显示第1列中的文件大小和第2列中文件名的一部分(它是一个日期)。
178694671 2017-10-14
175332227 2017-10-14
175021608 2017-10-14
174851281 2017-10-14
175316643 2017-10-14
我现在需要做的是分组,总结和统计此列表。按列2分组并计算文件,并将与每个分组关联的文件大小相加。
上述输出的结果如下所示:
879216430 2017-10-14 5
我试过这个
awk '{sum[$1]+= $2;}END{for (date in sum){print sum[date], date;}}'
但它提供了奇怪的结果,我并不真正理解它在做什么。
有人可以帮忙吗?
答案 0 :(得分:0)
使用另一个关联数组存储日期频率,如下所示:
awk '{++freq[$2]; sum[$2]+=$1}
END{for (date in sum) print sum[date], date, freq[date]}' file
879216430 2017-10-14 5
另请注意,您的数组的关键字为$2
,即日期不是$1