Linux Grep delta

时间:2013-08-19 23:02:44

标签: linux grep

我有两个文件:file1,file2。我想从file2获取file1中不存在的行。

我读过post告诉我使用grep的-v标志来做它(我读了grep的手册页,但仍然没有得到如何使用-F和-x标志),但到目前为止我没有运气。

$ cat file1
Eric
Cartman
Kenny
McCormick

$ cat file2
Stan
Marsh
Kyle
Broflovski
Eric
Cartman
Kenny 
McCormick

$ grep -v file1 file2
Stan
Marsh
Kyle
Broflovski
Eric
Cartman
Kenny 
McCormick

我的预期输出应如下所示:

Stan
Marsh
Kyle
Broflovski

1 个答案:

答案 0 :(得分:3)

这个grep行可能会有所帮助:

 grep -Fvf file1 file2

或与awk:

 awk 'NR==FNR{a[$0]=1;next}!a[$0]' file1 file2