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
tr
para converter os espaços em novas linhas e, em seguida, - use
sort
para classificar os dados (que agora são uma série de linhas) em ordem alfabética e, em seguida, - use
uniq
para contar quantos há de cada e, por último, - use
sort
novamente 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).