grep -o -n '[{}]' <filename> | cut -d : -f 1 | uniq -c
La sortie sera quelque chose comme :
3 1
1 2
Signifiant 3 occurrences dans la première ligne et 1 dans la seconde.
Extrait de https://stackoverflow.com/a/15366097/3378354 .
Après avoir lu diverses solutions, je pense que c'est l'approche la plus simple du problème :
while read i; do echo $i |grep -o "matchingString"| wc -l; done < input.txt