我有两个文本文件:
第一个文本文件:
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