在 UNIX 中获取两个文件之间的 MINUS 数据

Get MINUS data beween two files in UNIX

我在 Unix 中有两个文件。

文件 1 包含:

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

文件 2 包含:

2.- Peter
5.- Luouis

我想从这两个文件创建一个新文件。 我想要的结果是:

文件 3:

1.- Jhon
3.- Marie

基本上结果如下:

但不幸的是,结果是这样的:

文件 3:

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

我想要从文件 1 到文件 3 的 MINUS,而不是两个文件之间的 DISTINCT

我使用的命令是:

cat file1 file2 | sort  | uniq -u  > file3

有什么建议吗?

你可以这样试试:

comm -23 file1.txt file2.txt

来自文档:

NAME
comm - compare two sorted files line by line

SYNOPSIS
comm [OPTION]... FILE1 FILE2

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

-1 suppress lines unique to FILE1

-2 suppress lines unique to FILE2

-3 suppress lines that appear in both files

或者您可以这样尝试:

fgrep -v -f file1 file2