Se você não quiser contar o número de ocorrências, mas o número de linhas correspondentes, use a resposta de @ heemayl. No entanto, se você quiser contar cada ocorrência (portanto, conte word foo word
como 2 ocorrências, não uma), você pode fazer:
tail -1000 file | grep -o word | wc -l
O comando tail
imprime as últimas 1000 linhas, o grep -o word
procura word
e imprime cada caso encontrado (assim, ele será impresso duas vezes se corresponder a duas) e wc -l
contará o número de linhas retornadas .
Como alternativa, você pode usar algo como perl para fazer a contagem:
tail -n 1000 file | perl -alne '$k+=grep{/word/} @F; END{print $k}'
Por fim, observe que isso também contará coisas como wordsmith
. Para corresponder apenas se seu padrão formar uma palavra inteira, use grep
com o sinal -w
:
tail -1000 file | grep -wo word | wc -l
ou
tail -n 1000 file | perl -alne '$k+=grep{/\bword\b/} @F; END{print $k}'