Como faço para contar o número de ocorrências de uma string em um arquivo inteiro?

Existe um comando embutido para fazer isso ou alguém teve alguma sorte com um script que faz isso?

Eu estou olhando para contar o número de vezes que uma certa string (não palavra) aparece em um arquivo. Isso pode incluir várias ocorrências por linha, portanto, a contagem deve contar todas as ocorrências e não apenas contar 1 para as linhas que possuem a cadeia de caracteres 2 ou mais vezes.

Por exemplo, com este arquivo de amostra:

<code>blah(*)wasp( *)jkdjs(*)kdfks(l*)ffks(dl
flksj(*)gjkd(*
)jfhk(*)fj (*) ks)(*gfjk(*)
</code>

Se eu estou olhando para contar as ocorrências da string(*) Espero que a contagem seja 6, ou seja, 2 da primeira linha, 1 da segunda linha e 3 da terceira linha. Observe como a linha entre as linhas 2-3 não conta, porque há um caractere LF separando-as.

Atualizar: grandes respostas até agora! Posso pedir que o script manipule a conversão de(*) para\(*\), etc? Dessa forma, eu poderia passar qualquer string desejada como um parâmetro de entrada sem me preocupar com a conversão que precisa ser feita para que ela apareça no formato correto.

questionAnswers(6)

yourAnswerToTheQuestion