Se você quiser contar cada palavra em vários arquivos, use AWK
, por exemplo:
awk 'BEGIN{RS="[[:space:]]+"}
{counts[$0]++}
END{for(word in counts){print word " - " counts[word]}
' file1 file2 file...
Isso trata um arquivo como se cada palavra estivesse em uma linha separada, essa é a BEGIN{RS="[[:space:]]+"}
parte e, em seguida, conta cada vez que vê uma linha .
Remover a parte BEGIN
contaria cada linha normal .
Se você estiver interessado apenas em uma palavra específica, poderá alterar o bloco END
para algo como:
END{print counts["esr"]}
O que imprimiria apenas os horários "esr" exibidos, mas lembre-se de que isso faz distinção entre maiúsculas e minúsculas.
Para remover a diferenciação de maiúsculas e minúsculas, use counts[tolower($0)]++
ou counts[toupper($0)]++
.
As verificações podem ser adicionadas para imprimir dados quando a contagem passar de um arquivo para outro também.