2015-09-14 54 views
1

我在Unix中有兩個文件。在UNIX中的兩個文件之間獲取MINUS數據

文件1包含:

1.- Jhon 
2.- Peter 
3.- Marie 

文件2包含:

2.- Peter 
5.- Luouis 

我想創建這兩個文件的新文件。 我需要的結果是:

文件3:

1.- Jhon 
3.- Marie 

基本上結果有如下如下:

enter image description here

但不幸的是,結果是這樣的:

文件3:

1.- Jhon 
3.- Marie 
5.- Luouis 

我想從文件1減號文件3,並沒有這兩個文件

的命令,我使用的是DISTINCT:

cat file1 file2 | sort | uniq -u > file3 

任何建議這個?

回答

2

你可以嘗試這樣的:

comm -23 file1.txt file2.txt 

從文檔:

NAME
COMM - 逐行比較兩個排序文件一行

提要
通訊[選項] ... FIL E1 FILE2

.............

-1特有FILE1抑制線

-2抑制線特有的FILE2

-3抑制線那出現在這兩個文件

,或者你可以嘗試這樣的:

fgrep -v -f file1 file2 
+0

嗨,但這種差異的結果我想保留在file3中。這是可能的?我不想修改文件1和文件2 –

+1

@KhristianLiahut: - 然後你可以簡單地將它添加到3個文件,如下所示:'comm -2 -3 <(sort file1)<(sort file2)> file3' –

相關問題