'Find matching words

I have a corpus file and the rules file. I am trying to find matching words where the word from rule appear in corpus.

# cat corpus.txt
this is a paragraph number one
second line
third line

# cat rule.txt
a
b
c

This returns 2 lines

# grep -F0 -f rule.txt corpus.txt
this is a paragraph number one
second line

But I am expecting 4 words like this...

a
paragraph
number
second

Trying to achive these results using grep or awk.



Solution 1:[1]

Assuming words are seperated by white spaces

awk '{print "\\S*" $1 "\\S*"}' rule.txt | grep -m 4 -o -f - corpus.txt

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1