¿Cómo podría search el patrón de un file en otro y save el resultado de cada patrón en un file nuevo?

Me gustaría search los patrones de file1 en file2 y save el resultado de cada patrón en un file nuevo. Sé cómo hacerlo con todo el patrón para search en el file 2 y save los resultados con lo siguiente:

grep -wFf file1 file 2 > outputfile 

Pero el problema es que me gustaría hacer un file de salida seprate para cada patrón.

¿Cómo puedo hacerlo?

Solutions Collecting From Web of "¿Cómo podría search el patrón de un file en otro y save el resultado de cada patrón en un file nuevo?"

La utilidad grep no te permite hacer esto de la caja, por lo que en este caso tendrás que recurrir a un bucle.

Algo en la línea de esto hará el truco:

 i=0 while read -r pattern; do outfile="data-$(( i++ )).out" fgrep -w "$pattern" data.in >$outfile if [ ! -s $outfile ]; then rm $outfile fi done <patterns.in 

Esto también elimina cualquier file vacío (de patrones que no coinciden).