Se o seu grep suportar a opção -w :
grep -wFf file1.txt file2.txt
Digamos que eu tenha dois arquivos ( file1.txt & file2.txt ).
file1.txt : (contém apenas uma lista de palavras, uma por linha)
Car
Ricky
file2.txt : (contém linhas (frases) usando palavras de file1.txt e mais)
he has a Car
there is no food
I have a book
road is straight
Ricky is a good student
A saída deve ser:
he has a Car
Ricky is a good student
Se eu estou entendendo a pergunta corretamente, parece que você quer pegar linhas de arquivo2.txt que contenham palavras de file1.txt
Isso pode ser facilmente alcançado usando grep e for loop.
Basicamente, você pode cat file1.txt e depois alimentá-lo em um comando grep.
for i in $(cat file1.txt); do grep $i file2.txt; done