Search code examples
blacklist

grep - blacklisting using a file


New to using Grep. Basically I have two text files; blacklist.txt and many foo.txt in different directories. I started off using:

grep -vE "(insert|blacklist|items|here)" foo.txt > filtered_foo.txt

but my blacklist has grown exponentially and so I need to compare the two files instead.

In foo.txt there are four columns with columns 1,2,3 being unique. I want to delete rows where column 4 matches a string in my blacklist.


Sample of a foo.txt

A1 A2 A3 Bob  
B1 B2 B3 Anne  
C1 C2 C3 Henry  
D1 D2 D3 Ted

blacklist.txt

Anne  
Ted

Desired output: filtered_foo.txt

A1 A2 A3 Bob  
C1 C2 C3 Henry  

I have tried different things in grep such as:

grep -vF "'cat blacklist.txt'" foo.txt > filtered_foo.txt

Solution

  • Use the -f option to get the patterns from a file.

    grep -vF -f blacklist.txt foo.txt > filtered_foo.txt