根据另一个文件中的模式删除行

时间:2013-05-10 08:12:27

标签: awk grep

我有两个文件:

input.txt

Hi 1-12T2EDD
1-13D62L6Hello
1-15SDWAKWazzup
Wow1-18Z3QWY

filter.txt

1-15SDWAK
1-1VF3XHV

我想在filter.txt中删除input.txt中匹配模式的行。在SQL理解中,我想使用input.txt左外连接filter.txt

output.txt

Hi1-12T2EDD
1-13D62L6Hello
Wow1-18Z3QWY

1 个答案:

答案 0 :(得分:5)

一个简单的grep会执行此操作:

$ grep -Fvf filter input
Hi 1-12T2EDD
1-13D62L6Hello
Wow1-18Z3QWY

选项:

  • -F对于固定字符串,因为我们不需要正则表达式匹配
  • -v用于反向匹配
  • -f用于指定包含(反向)匹配字符串的文件。