找出两个文件之间的区别

时间:2013-03-06 15:21:23

标签: awk

我有以下情况:

file1.dat就像:

1 2
1 3
1 4
2 1

和file2.dat类似:

1 2
2 1
2 3
3 4

我想找到第一个文件中的第二个文件之间的差异。我试过机智grep -v -f file1 file2,但我的真实文件比这两个更大,当我尝试使用它时,shell永远不会结束。

结果应为:

2 3
3 4

文件已排序,并且它们具有相同数量的元素。有没有找到awk解决方案的方法?

1 个答案:

答案 0 :(得分:10)

好像您希望file2中不在file1中的行:

$ awk 'FNR==NR{a[$0];next}!($0 in a)' file1 file2
2 3
3 4

然而,使用comm

更简单
$ comm -13 file1 file2
2 3
3 4