比较两个文本文件并保存缺失值

比较两个文本文件并保存缺失值

我有两个文本文件:

第一个文本文件:

Hello
Hi
Hola
Bonjour

第二个文本文件:

Hi 
Bonjour

我怎样才能输出它们之间的差异,而不管行号如何,即我想保存输出

Hello
Hola

进入新的文本文件

答案1

目前尚不清楚“差异”的含义,但这里有一些符合您给定的输入和输出的内容:

$ cat >1
Hello
Hi
Hola
Bonjour

$ cat >2
Hi
Bonjour

$ diff  --old-line-format=''  <(sort 1)  <(sort 2)  >new

$ cat new
Hi
Bonjour

答案2

输出第一个文件中存在但第二个文件中不存在的整行:

grep -vxFf second first

或者,对文件进行排序,然后使用comm

comm -23 <(sort first) <(sort second)

答案3

使用 awk 命令可以解决这个问题:

awk 'NR==FNR{uu[$1]=1}NR!=FNR&&uu[$1]!=1{print}' second first  

相关内容