逐行比较两个文件并在另一个文件中生成差异

xqkwcwgp  于 2022-09-21  发布在  Unix
关注(0)|答案(1)|浏览(195)

我想将文件1与文件2进行比较,并生成一个文件3,其中包含文件1中不存在于文件2中的行。

3npbholx

3npbholx1#

Diff(1)不是答案,但comm(1)是答案。

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

所以

comm -2 -3 file1 file2 > file3

必须对输入文件进行排序。如果不是,则首先对它们进行分类。这可以使用临时文件来完成,或者...

comm -2 -3 <(sort file1) <(sort file2) > file3

假设您的外壳支持进程替换(bash支持)。

相关问题