Se você quiser pesquisar novamente o arquivo de entrada para cada padrão especificado:
$ cat patterns.txt
and
dif
for
if
apple
pineapple
$ cat source.txt
andiforpineapple
$ while read; do grep -o -e"$REPLY" source.txt; done <patterns.txt
and
dif
for
if
apple
pineapple
No entanto, isso terá uma ordem de saída diferente do que você deseja, se o arquivo de origem tiver mais de uma linha. Desde que você não disse o que você está usando para isso, eu não sei se isso vai funcionar para o seu problema real.