Reputation: 759
Is there any option of the grep command to suppress the effect of empty lines in the pattern file? I would prefer this option than always checking and filtering the nascent pattern file.
Here is an example (in pattern_file
, there is an empty line):
$ cat pattern_file
APPLE
PEAR
$ cat file
Nothing
fruit
$ grep -f pattern_file file
Nothing
fruit
Upvotes: 2
Views: 721
Reputation: 88674
To ignore empty lines in pattern file:
grep -f <(grep . pattern_file) file
Upvotes: 3
Reputation: 2399
About -f
option:
A null pattern can be specified by an empty line in pattern_file.
So, it is a feature, and you should delete empty lines, e.g. with sed
:
sed '/^$/d' | grep -f ...
Upvotes: 1
Reputation: 1587
grep -v '^$'
This actually grabs all the lines except for newlines. You can pipe the result to your grep like this: grep -v '^$'| otherGrep
Upvotes: 1