Creo que grep no es la herramienta apropiada (ya que no puede capturar texto), yo usaría SED o AWK. Ejemplo:
Código bash:
Ver originalfind /carpeta -name "*.c" -exec sh mi_script.sh "{}" \;
mi_script.sh
Código bash:
Ver originalsed -n 's/{\(.*\)}/variable encontrada: \1/gp' $1 > $1.txt
El comando anterior de sed busca líneas que contengan {}, captura el texto entre ellas, lo sustituye por el texto que te interesa, y lo guarda a un archivo del mismo nombre pero con extensión TXT.
Saludos.