Dependendo da complexidade das REs, você pode usar uma linguagem como Python (não testada):
#! /usr/bin/env python3
import re, sys
res = ["re1", "re2", ... ] # or read from a file
recs = [re.compile(r) for r in res]
matches = {}
for line in sys.stdin:
for r in recs:
if r.match(line):
matches[r] += 1
for r in matches:
if matches[r] == 0:
print(r.pattern)
É claro que, se as expressões regulares contiverem strings que podem não ser tomadas literalmente pelo suporte de regex mais avançado do Python, isso não funcionará. Você provavelmente poderia eliminar muito trabalho alimentando a saída de grep
com isso (desde então, eliminamos as linhas nas quais nenhuma regex corresponde).