É possível determinar o número de vezes que uma palavra específica aparece em vários arquivos - arquivo por arquivo - usando grep
a opção "-c", mas isso retorna o número de linhas correspondentes em que a palavra específica aparece - e não funcionaria, pois uma linha pode conter várias instâncias da palavra
Por exemplo :
Arquivo A.txt: cerca de 12345 palavras e risco e risco
Arquivo B.txt: e 12345 então outro risco
Arquivo C.txt: palavras fictícias
Eu executaria grep -l "12345" *.txt | xargs grep ?????? risk -
Saída esperada A.txt:2 B.txt:1
ripgrep suporta esta funcionalidade nativamente:
Caso contrário, escreva um script bash seguindo estas linhas:
com exemplo de execução:
Algo assim contaria as palavras
Com GNU awk para multi-char
RS
,ENDFILE
, e\s
backhand para[[:space:]]
:Você pode facilmente transformar isso para contar ocorrências de todas as palavras em cada arquivo, se desejar: