之間的區別,我有以下情況:找到兩個文件
的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?
之間的區別,我有以下情況:找到兩個文件
的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?
好像你想在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
+1用於提示comm – anubhava 2013-03-06 15:37:19
爲什麼-13?這是什麼意思? – 2013-03-06 16:14:20
閱讀'man comm'' -1'來壓制文件1和'-3'的獨特行,以抑制兩者共有的行。只留下file2中唯一的行。 – 2013-03-06 16:21:27
可能重複:http://stackoverflow.com/questions/ 8181974/compare-two-files-with-awk-or-sed – halex 2013-03-06 15:23:37
file2.dat中不存在的所有行在file1.dat中不存在 – 2013-03-06 15:28:04
爲什麼'1 3'不在結果中?它在file1中,但不在file2中。它是不同的權利? – Kent 2013-03-06 15:28:45