Você pode usar os comandos sort
& uniq -c
para contar as ocorrências de todas as sequências como esta:
$ sort sample.txt | uniq -c
4 cat
5 dog
1 fly
2 spider
Se você quer apenas o "cachorro" de uma só linha, pode usar grep
antes ou depois.
depois
$ sort sample.txt | uniq -c | grep dog
5 dog
antes
$ grep dog sample.txt | uniq -c
5 dog
Como funciona
O comando uniq -c
contará todas as strings exclusivas que são apresentadas, mas a lista precisa estar em ordem de classificação primeiro. Daí porque usamos o comando sort
antes de fazer a contagem.
O comando grep
é para selecionar coisas na saída que são de interesse. Você pode coisa de grep
como um filtro que pode agir de forma inclusiva ou exclusiva, dependendo do que você quer da saída.
O comando sort
pode classificar dados com base em regras. Neste caso, estamos deixando que ele se comporte em seu modo padrão, por isso, classifica os dados com base em um conjunto alfanumérico de regras de classificação.