2013-03-25 98 views
0

我有两个制表符分隔的文件,每行15列,n和m行数。比较文件内容

在文件1的行数是比文件2的大,说文件1有15个行 不存在file2中

我怎样才能找到这些行?

谢谢

+4

你试过'diff'吗? – 2013-03-25 12:45:28

+0

差异可能无助于找出15行...或? – Kent 2013-03-25 12:48:16

+0

@Kent当然是的。根据选项的不同,它会在行前添加'<', '>'或'+','-'。 – 2013-03-25 13:24:18

回答

1

对此是否有帮助?

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

comm命令将查找对于两个文件都是唯一的行或对于这两个文件都是共同的行。

comm -23 <(sort file1) <(sort file2) 

将打印由-2-3选项被抑制的文件必须进行排序仅在文件1(行只在文件2和公共线路;它并不真正的问题如何排列,只要因为它们都在同一个键,并以同样的方式进行排序

1

join命令可以帮助,特别是-a选项:

-a FILENUM p来自文件FILENUM的无用线,其中FILENUM是1或2,对应于FILE1或FILE2