find . -type f -printf %u:%g\n | awk '{usergroup[$0]++}; END {for(key in usergroup) printf "%-20s %d\n",key,usergroup[key]}'
hl:hauke 401
hl:1003 10
root:root 1
find
imprime para cada arquivo uma linha do tipo username:groupname
.
awk
usa uma matriz associativa para contar as ocorrências. Para cada linha, a variável com o conteúdo da linha como nome é incrementada.
Depois que awk
leu a última linha, ele imprime as chaves e os valores da matriz.