Use isso se quiser usar cada linha de cada vez do arquivo insert.txt como padrão para pesquisar em file.txt , isso produzirá apenas as linhas de file.txt que correspondem ao linha em consideração de insert.txt .
#!/bin/bash
while IFS= read -r word1; do
grep -- "$word1" file.txt | grep "word2" | grep "word3"
done < insert.txt
Aqui -- é dado para indicar o final das opções de grep , caso contrário, os padrões que aparecem com - não funcionarão.
Por outro lado, execute o seguinte se quiser usar todas as linhas de insert.txt como padrão para pesquisar em file.txt de uma só vez , isso corresponderá a todas as linhas de file.txt que corresponde a qualquer uma das linhas de insert.txt :
grep -Ff insert.txt file.txt | grep "word2" | grep "word3"