1

我有以下情况:

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,但我的真实文件比这两个大,当我尝试使用它时,外壳永远不会结束。

结果应该是:

2 3
3 4

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

4

1 回答 1

12

似乎您想要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
于 2013-03-06T15:24:17.737 回答