2015-09-14 26 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' –

相关问题