比较两个文件并输出差异

uni*_*ipe 3 linux unix bash diff command-line

我知道diff并使用循环,但我似乎无法真正获得我需要的差异。我基本上是想比较两个文件(file2.txt 和 file2.txt),然后得到它们之间缺少的输出。

目标 1:从 file1.txt 中查找 file2.txt 中缺少的内容

目标 2:查找任一文件中缺少的内容。file2.txt 中可能存在一些不在 file1.txt 中的行。我也想了解他们。

diff只告诉我这两个文件不一样,逐行比较差异。我需要的是一个通过文件的程序,而不是按行区分。如果在 file1.txt 的第 2 行找到包含 '/bin/mount' 的行并且在 file2.txt 的第 59 行找到,那么我不需要知道它。我只想知道整体上没有什么。这能做到吗?

cho*_*oba 6

如果您不关心行序,请先对文件进行排序。要查看哪个文件中缺少哪些行,请使用comm代替diff

comm <(sort file1) <(sort file2)
Run Code Online (Sandbox Code Playgroud)