Você tentou -o
com -F
? Parece que, do contrário, há algo em matchingwords.txt
que é interpretado como um regex malformado ... e não parece que sua intenção é usar regexes.
Então, supondo que você entendeu isso aqui, é uma maneira de contar as ocorrências de correspondências para cada uma das palavras:
grep -F -o -f matchingwords.txt bigfile.txt | sort | uniq --count
Você terá algo ao longo destas linhas:
5 apple
12 banana
9 orange