Isso faz isso:
echo "a c a c a c a a a a a a a a c c c a c 0 0 a c 0 a"|tr " " "\n"|sort|uniq -c|sort -rn
- Usamos
trpara converter os espaços em novas linhas e, em seguida, - use
sortpara classificar os dados (que agora são uma série de linhas) em ordem alfabética e, em seguida, - use
uniqpara contar quantos há de cada e, por último, - use
sortnovamente para alterar a ordem de apresentação para descendente (com ocorrências máximas primeiro).
Ele assume que cada item é separado por um único espaço (o que é verdadeiro em seu exemplo).