2013-03-25 140 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