Editar
uniq | sort | uniq
alterado para sort -u
.
Você pode obter uma lista de usuários por find:
find -printf "%u" | sort -u
(Na minha experiência, primeiro uniq
geralmente torna uma lista muito mais curta para classificar).
Se eu tivesse que somar bytes eu usaria find e awk:
find -type f -printf "%u %s\n" | awk '{usage[$1]+=$2} END {for(user in usage){print "User: " user " occupies: " usage[user] " bytes"}}'
Localiza o nome do usuário e o tamanho do arquivo em bytes. Veja man find
.
O awk soma bytes para cada usuário na tabela. No final, o resumo é impresso.