grep -o -n '[{}]' <filename> | cut -d : -f 1 | uniq -c
L'output sarà qualcosa del tipo:
3 1
1 2
Significa 3 occorrenze nella prima riga e 1 nella seconda.
Tratto da https://stackoverflow.com/a/15366097/3378354 .
Dopo aver letto varie soluzioni, penso che questo sia l'approccio più semplice al problema:
while read i; do echo $i |grep -o "matchingString"| wc -l; done < input.txt