我有一个小数据库如下:
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,unix
来源: https://codeday.me/bug/20190902/1793931.html