
Quero saber quantas instâncias de um padrão são encontradas pelo grep enquanto procura recursivamente uma estrutura de diretórios. Parece que eu deveria ser capaz de canalizar a saída do grep através de algo que contasse as linhas.
Responder1
Consegui juntar a resposta com a ajuda deessa questão. O programa "wc" conta novas linhas, palavras e contagens de bytes. A opção "-l" especifica que o número de linhas é desejado. Para meu aplicativo, o seguinte funcionou bem para contar o número de instâncias de "somePattern":
$grep -r "somePattern" filename | wc -l
Responder2
Pelo menos com ferramentas GNU:
grep -rcZ "some_pattern" | awk -F'\0' '{s+=$NF}END{print s}'
Isto é provavelmente superior em velocidade em comparação com wc -l
.
Também funciona para arquivos com nova linha no nome.