我有一个小数据库,如下所示:
10/08/2011 laptop 4
10/08/2011 laptop 2
10/08/2011 desktop 2
10/08/2011 laptop 1
10/08/2011 pen 5
10/08/2011 pen 2
10/08/2011 waterbottle 8
10/2/2011 ring 11
10/02/2011 waterbottle 5
10/2/2011 ring 2
10/2/2011 ring 4
10/2/2011 keyboard 20
10/2/2011 keyboard 10
11/2/2011 mouse 10
11/2/2011 mouse 4
11/2/2011 mouse 10
11/2/2011 door 55
我想计算这些商品每天售出多少。我用 awk 尝试了一些东西,如下所示,但它失败了......
awk '{arr[$1,$2]++;}END {for (i in arr){ for (j in arr[$i]){print arr[$i,$j];}}}' data
任何想法,怎么做?我会感谢你的帮助。谢谢
最佳答案
awk 数组是从键到值的映射。您通过尝试获取多维数组而产生的实际上是一个具有更复杂键的数组。因此,您应该迭代组合键,而不是用于构建它们的索引:
awk '{ arr[$1,$2]++ } END {for (key in arr){ print arr[key] } }' data
关于linux - awk 中的多维数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7755049/