2013-01-22 81 views
11

我有包含單詞的唯一排序列表兩個文本文件行:慶典:比較兩個文件

文件1:

a 
b 
c 
d 

文件2:

b 
c 

我需要一個新文件只包含文件1中的無關行,因此結果將爲

a 
d 
+2

可能重複:HTTP://計算器.com/questions/4078933/find-difference-between-two-text-files-with-one-item-per-line –

回答

14

這是comm是:

COMM - 選擇或拒絕共同線兩個文件

你想

comm -23 "File 1" "File 2" 

這將抑制輸出行只在文件2中線在這兩個文件,只留下行文件1. 更多的答案here on Greg Wooledge's wiki

+0

這是此工作的正確工具;這正是它設計要做的。 –

2

您可以使用grep

grep -f file1.txt -vFx file2.txt 

注意標誌F, --fixed-stringsx, --line-regexp的使用,迫使考慮整條生產線將要執行的比較。

+1

感謝這也適用:'排序file1.txt file2.txt file2.txt | uniq -u' –

2

試試這個

$ join file1.txt file2.txt -v 1

$ man join

-a FILENUM 
    print unpairable lines coming from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 
-v FILENUM 
    like -a FILENUM, but suppress joined output lines