Eu usaria o perl aqui:
perl -T -lne '
for (/\w+/g) {$count{lc $_}->{$ARGV}=undef}
END {print "$_: " . keys %{$count{$_}} for keys %count}' ./*
Que cria um hash de hash $count{word}
é uma referência a um hash cujas chaves são os nomes dos arquivos em que word
é encontrado (e valores que não nos interessam, aqui configurados como undef
).
No final, apenas contamos o número de elementos (assim, o número de arquivos) para cada um desses hashes (portanto, para cada uma das palavras encontradas).