如何从文本文件中删除从另一个文件中获取的行

时间:2015-06-23 11:31:31

标签: shell awk sed grep sh

我有一个data.txt文件,其中有很多行,lines.txt包含一些行。

我想删除data.txt中与lines.txt中任意一行匹配的所有行,并将该新文件另存为no_dupplicate_lines.txt。 我尝试了这个,但它不起作用:

LC_ALL=C fgrep -v -f dupp jour_24-06.txt

我正在寻找一种File1 MINUS File2 => File1-File2

的解决方案

1 个答案:

答案 0 :(得分:2)

使用grep

这样的话
grep -vxf lines.txt data.txt > no_dupplicate_lines.txt

<强>示例:

AMD$ cat lines.txt
Line2
Line4
AMD$ cat data.txt
Line1
Line2
Line3
Line4
Line5
AMD$ grep -vxf lines.txt data.txt
Line1
Line3
Line5

从文件lines.txt(-v)中打印不匹配(-x)行的确切行(-f lines.txt)。 有关选项的详细信息,请参阅man grep

相关问题