Se o arquivo patterns
contiver somente cadeias fixas, em uma configuração gnu
você poderia fazer
grep -oFf patterns infile | sort | uniq -c
Se o conteúdo for regex, talvez algo como
sed -E 'h;s|/|\&|g;x;s|[\&/]|\&|g;H;x;s|(.*)\n(.*)|s///|' patterns \
| sed -f - <(grep -of patterns infile) | sort | uniq -c
que usa o mesmo comando grep
, só que desta vez processe o resultado com sed
para substituir as correspondências com o padrão real (via outro script sed
baseado no conteúdo de patterns
)