Comment compter le contenu d’une colonne par deux autres avec awk?

Disons que j’ai un fichier avec trois colonnes, comme suit:

00:00:01 Login Steve 00:00:01 Install Sarah 00:00:01 Install Sarah 00:00:02 Explorer Sarah 00:00:02 Explorer Sarah 00:00:02 Install Steve 00:00:02 Firewall Sarah 00:00:02 Logout Steve 00:00:04 Logout Sarah 

Est-il possible d’utiliser awk pour compter les actions uniques que chaque utilisateur effectue dans chaque horodatage, de sorte que la sortie est quelque chose comme ceci:

 00:00:01 Steve Login 1 00:00:01 Sarah Install 2 00:00:02 Sarah Explorer 2 00:00:02 Steve Install 1 00:00:02 Sarah Firewall 1 00:00:02 Steve Logout 00:00:04 Sarah Logout 

C’est le plus proche que je vienne:

 awk '{count[$1,$3,$2]++}END{for (i in count){split(i,a,SUBSEP); print a[1],a[2],count[i]}}' awktest.txt 

Ce qui me donne ce résultat:

 00:00:02 Sarah 1 00:00:02 Steve 1 00:00:02 Steve 1 00:00:01 Steve 1 00:00:04 Sarah 1 00:00:02 Sarah 2 00:00:01 Sarah 1 00:00:01 Sarah 1 

Je le fais dans Cygwin.

 $ awk -F"\t" -v OFS="\t" '{arr[$0]+=1} END {for(i in arr) print i,arr[i]}' test.in 00:00:01 Install Sarah 2 00:00:04 Logout Sarah 1 00:00:02 Firewall Sarah 1 00:00:01 Login Steve 1 00:00:02 Logout Steve 1 00:00:02 Install Steve 1 00:00:02 Explorer Sarah 2