Você precisa de expressões regulares perl para isso. Com um grep que suporta o sinalizador -P :
grep -oP '(?<=a)a' file | wc -l
Este é um lookbehind positivo. Ele corresponde a um único a , que é precedido por outro a .
Se você preferir perl (ou seu grep não suporta o -P flag):
perl -ne 'while(m/(?<=a)a/g){$a++}END{print "$a\n"}' file
Exemplo:
$ cat file
aa
aaa
aaaa
A primeira linha deve ser 1 correspondência, a segunda 2 e a terceira árvore; todos juntos 6:
$ grep -oP '(?<=a)a' file | wc -l
6